Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPSECLIB读取目录的总大小?_Php_Sftp_Phpseclib - Fatal编程技术网

PHPSECLIB读取目录的总大小?

PHPSECLIB读取目录的总大小?,php,sftp,phpseclib,Php,Sftp,Phpseclib,此代码仅返回目录4096的默认大小 如何读取包含许多文件的目录/文件夹的总大小和已用空间 非常感谢你的帮助 要使用SFTP执行此操作,我想您可以这样做(未经测试): 请注意,使用SFTP的递归目录列表 或者,您可以执行$sftp->exec('du-sfldername')。那是最快的方法。由于SFTP使用phpseclib扩展SSH2,因此exec是一种有效的方法。+1-尽管值得注意的是$SFTP->exec('du-s foldername')不再是SFTP解决方案。它需要shell访问,并

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

如何读取包含许多文件的目录/文件夹的总大小和已用空间


非常感谢你的帮助

要使用SFTP执行此操作,我想您可以这样做(未经测试):

请注意,使用SFTP的递归目录列表


或者,您可以执行
$sftp->exec('du-sfldername')。那是最快的方法。由于SFTP使用phpseclib扩展SSH2,因此
exec
是一种有效的方法。

+1-尽管值得注意的是
$SFTP->exec('du-s foldername')
不再是SFTP解决方案。它需要shell访问,并且是*nix特定的。
echo $sftp->size('foldername');
$size = 0;
$files = $sftp->rawlist('foldername', true);
foreach ($files as $file) {
    $size+= $file['size'];
}