-4

foreachを使用してphpscandir関数の結果をループし、ファイル名、サイズの順に表示したいのです、コードを使用すると次のようになります。

$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 に答える