2
$dir    = './';
$files1 = scandir($dir, 1);
$totalSize = 0;
foreach ($files1 as $fileName)
    $totalSize += filesize($fileName);

echo "TOTAL FILE SIZE:". $totalSize /1024 /1024 ."<br /><br />";

foreach ($files1 as $fileName)
    echo $fileName "<br />";

ここにサンプル コードがあります。これを 1 つの foreach ループに減らしたいのですが、上記の totalSize を出力したいのですが、これはどのように可能ですか? 「後で$totalSizeを処理する」方法があるかどうか考えていました

私が達成したかったのは次のようなものです:

//I WANT THIS TO GET THE VALUE BELOW
echo "TOTAL FILE SIZE:". $totalSize /1024 /1024 ."<br /><br />";

foreach ($files1 as $fileName)
{
    echo $fileName "<br />";
    $totalSize += filesize($fileName);
}

ああ、私は愚かです、私はこれを可能にすることについて考えすぎていて、簡単なテクニックを忘れていました. この質問に答えるのを手伝ってくれた人々に感謝します!

4

1 に答える 1

0

これはどうですか:

$output = "";

foreach ($files1 as $fileName)
{
    $output .= $fileName . "<br />";
    $totalSize += filesize($fileName);
}

echo "TOTAL FILE SIZE:". $totalSize /1024 /1024 ."<br /><br />";

echo $output;

最初に設定されていないものをエコーすることはできません。私のコード例では、ファイル名を変数に格納し、後でそれをエコーするループが 1 つあります。

于 2012-11-10T06:12:01.740 に答える