Php检查远程文件夹的大小

时间:2015-08-15 18:13:48

标签: php ftp server

我在远程服务器上有一个用户文件夹(页面文件除外)。我需要检查整个“example”文件夹的大小,而不是一个文件。我想我应该用ftp来做,但我做不到。

我有类似的东西但没有工作:

function dirFTPSize($ftpStream, $dir) {
$size = 0;
$files = ftp_nlist($ftpStream, $dir);

foreach ($files as $remoteFile) {
    if(preg_match('/.*\/\.\.$/', $remoteFile) || preg_match('/.*\/\.$/', $remoteFile)){
        continue;
    }
    $sizeTemp = ftp_size($ftpStream, $remoteFile);
    if ($sizeTemp > 0) {
        $size += $sizeTemp;
    }elseif($sizeTemp == -1){//directorio
        $size += dirFTPSize($ftpStream, $remoteFile);
    }
}

return $size;
}

$hostname = '127.0.0.1';
$username = 'username';
$password = 'password';
$startdir = '/public_html'; // absolute path
$files = array();
$ftpStream = ftp_connect($hostname);
$login = ftp_login($ftpStream, $username, $password);
if (!$ftpStream) {
echo 'Wrong server!';
exit;
} else if (!$login) {
echo 'Wrong username/password!';
exit;
} else {
$size = dirFTPSize($ftpStream, $startdir);
}
echo number_format(($size / 1024 / 1024), 2, '.', '') . ' MB';
ftp_close($ftpStream);

整个时间脚本显示0.00 MB,我该怎么做才能修复它?

0 个答案:

没有答案