我有遠程服務器上的用戶文件夾(頁面文件除外)。我需要檢查整個「示例」文件夾的大小,而不是一個文件。我認爲我應該使用ftp來做,但我不能。遠程文件夾的PHP檢查大小
我有這樣的事情,但不工作:
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,我能做些什麼來解決這個問題?
檢查這個http://stackoverflow.com/questions/478121/php-get-directory-size –
http://stackoverflow.com/questions/2788002/i-want-get-the-sum-of -files-size-in-folder-by-php –
沒錯,但我需要連接到另一個託管服務器。我編輯我的問題我添加了一個php代碼 – American