-4

我想使用 foreach 循环遍历 php scandir 函数的结果,然后显示文件名,然后显示大小,但是当我使用代码时:

$scan = scandir("/home/foo");
foreach ($scan as $value) {
echo "$value" . "<br>" . filesize("/home/foo/$value") . " ";
}

我最终得到的是文件大小值,然后是 $value,如下所示:

3337 Desktop
4096 Downloads
4096 Mail
4096 Scripts

为什么是这样?以及如何让它以与代码相同的顺序格式化,即。文件名,然后是文件大小?

4

2 回答 2

2

在值和文件大小之间有一个换行符 ( <br>),但在文件大小之后没有。

因此文件大小将作为新行的第一件事出现,下一个元素的名称将出现在它旁边。所以它实际上是以正确的顺序输出东西;它只是在打印输出中看起来不那样。

解决方案:

交换字符串的"<br>"" "部分。

echo "$value" . " " . filesize("/home/foo/$value") . "<br>";
于 2012-12-03T15:34:32.067 回答
1

将 移动<br>到最后,它是一个换行符并开始一个新行。

于 2012-12-03T15:34:04.153 回答