echo $sftp->size('foldername');
此代码仅返回目录4096的默认大小
如何读取包含许多文件的目录/文件夹的总大小,已用空间?
非常感谢你的帮助!
答案 0 :(得分:3)
要使用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
是一种有效的方法。