PHPSECLIB 读取目录的总大小?

PHPSECLIB read the total size of directory?

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

此代码仅return目录的默认大小4096

如何读取包含许多文件的 directory/folder 中使用的 space 的总大小?

非常感谢您的帮助!

要使用 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 是一种有效的方法。