2

重複の可能性:
PHP –ディレクトリのサイズを取得する

ディレクトリに5つのファイルがあり、ファイルサイズ= 4096と表示されますが、4つのファイルを削除し、残りのファイルが1つしかない場合でも、同じサイズが表示されます。それは私がファイルサイズを取得する方法です

echo filesize("user_files/".$uid."/".$rs['DirectoryName']);
4

2 に答える 2

8

filesizeディレクトリに適用しても、その内容のサイズはわかりません。ファイルシステムノードのサイズを返します。この場合、4kbかかります。このサイズは、ディレクトリ内のファイルの量によって異なります。

コンテンツの実際のサイズを取得するには、各ファイルのサイズを取得して要約する必要があります。

于 2012-10-11T02:00:30.453 に答える
1

合計フォルダーサイズとそのサブディレクトリを次のように取得できます

$dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS));
$size = 0;
foreach ( $dir as $file ) {
    $size += $file->getSize();
}
var_dump($size);

また、

PHP の整数型は符号付きであり、多くのプラットフォームでは 32 ビット整数が使用されているため、一部のファイル システム関数は、2GB を超えるファイルに対して予期しない結果を返す場合があります。

于 2012-10-11T02:02:48.283 に答える