filesize() を使用して、うまくいけば画像ディレクトリの合計ファイルサイズを返します。コードは 24 MB のサイズを返しますが、これは正しくありません。ディレクトリには約 200 MB 以上の画像があります。何か案は?
<?
$filename = '../uploads';
echo (filesize($filename) / 1024) . ' mb';
?>
filesize() を使用して、うまくいけば画像ディレクトリの合計ファイルサイズを返します。コードは 24 MB のサイズを返しますが、これは正しくありません。ディレクトリには約 200 MB 以上の画像があります。何か案は?
<?
$filename = '../uploads';
echo (filesize($filename) / 1024) . ' mb';
?>
ディレクトリサイズを取得するには:ソース
function dir_size($directory) {
$size = 0;
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){
$size += $file->getSize();
}
return $size;
}
人間が読める値を取得するために、次の関数で戻り値をフォーマットします: source
function format_size($size) {
$mod = 1024;
$units = explode(' ','B KB MB GB TB PB');
for ($i = 0; $size > $mod; $i++) {
$size /= $mod;
}
return round($size, 2) . ' ' . $units[$i];
}