2017-07-10 6 views
0

私は1 directory.Here内のすべてのファイルのサイズを取得したいが、私はPHP 1つのディレクトリにあるすべてのファイルのサイズを取得する方法は?

$files=scandir(__DIR__,1); 
echo $files[0]["size"]; 

を試してみましたコードです。このコードは、$files内のすべてのファイルが保存されますが、それだけでその者の名前ではないサイズを節約できます。

+2

、あなたは再帰的にファイルを反復処理し、それぞれのサイズを合計する必要があると思います。おそらく 'du'のようなシェルコマンドを使うほうが良いでしょう。 –

+0

@AlexHowansky PHPのすべてのファイルをどのように反復処理できますか? – sakoaskoaso

+0

希望の結果は何ですか? 1つの数字 - ディレクトリまたは配列内のすべてのファイルの合計サイズ(key = filename、value = size)?サブディレクトリはどうですか? –

答えて

0

あなたはこれを試すことができます:組み込みのこのためにありません

function getDirSize($path) 
{ 
    $fio = popen('/usr/bin/du -sb '.$path, 'r'); 
    $size = intval(fgets($fio,80)); 
    pclose($fio); 
    return $size; 
} 

または

function getDirSize($path) { 
    $size = 0; 
    foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file){ 
     $size+=$file->getSize(); 
    } 
    return $size; 
} 
関連する問題