PHPSECLIB读取目录的总大小?

问题描述:

echo $sftp->size('foldername'); 

此代码仅返回目录的缺省大小4096PHPSECLIB读取目录的总大小?

我怎样才能读取的总大小,使用的目录的空间/包含多个文件夹?

非常感谢您的帮助!

要做到这一点与SFTP我想你可以做这样的事情(未经测试):

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

注意与SFTP can be slow递归目录列表。您可以选择$sftp->exec('du -s foldername');。这将是最快的方法。由于SFTP使用phpseclib扩展SSH2 exec是一种有效的方法。

+1

+1 - 虽然值得注意的是'$ sftp-> exec('du -s foldername')'不再是SFTP解决方案。它需要shell访问权限,并且是* nix特定的。 –

+0

谢谢你们的帮助。我会尝试你的建议 –