2017-09-21 7 views
2
echo $sftp->size('foldername'); 

このコードだけで私は、多くのファイルを格納するディレクトリ/フォルダの使用容量を合計サイズを読み取ることができますどのようにディレクトリのデフォルトサイズに4096PHPSECLIBディレクトリの合計サイズを読み取りますか?

を返しますか?

ありがとうございました! SFTPでこれを行うには

答えて

2

私はあなたがこの(未テスト)のような何かを行うことができると思います:SFTP can be slowとディレクトリを再帰的にリストすることを

$size = 0; 
$files = $sftp->rawlist('foldername', true); 
foreach ($files as $file) { 
    $size+= $file['size']; 
} 

注意を。

$sftp->exec('du -s foldername');とすることもできます。それが最速の方法だろう。 SFTPはphpseclibでSSH2を拡張するので、execは有効な方法です。

+1

+1 - '$ sftp-> exec( 'du -s foldername')'はSFTPの解決策ではないことに気付くことはありますが、それはシェルアクセスを必要とし、* nix特有です。 –

+0

お世話になりました。私はあなたの提案を試みます –

関連する問題