本文实例讲述了php计算整个目录大小的方法。分享给大家供大家参考。具体实现方法如下:
/**
* Calculate the full size of a directory
*
* @author Jonas John
* @version 0.2
* @link http://www.jonasjohn.de/snippets/php/dir-size.htm
* @param string $DirectoryPath Directory path
*/
function CalcDirectorySize($DirectoryPath) {
// I reccomend using a normalize_path function here
// to make sure $DirectoryPath contains an ending slash
// (-> http://www.jonasjohn.de/snippets/php/normalize-path.htm)
// To display a good looking size you can use a readable_filesize
// function.
// (-> http://www.jonasjohn.de/snippets/php/readable-filesize.htm)
$Size = 0;
$Dir = opendir($DirectoryPath);
if (!$Dir)
return -1;
while (($File = readdir($Dir)) !== false) {
// Skip file pointers
if ($File[0] == '.') continue;
// Go recursive down, or add the file size
if (is_dir($DirectoryPath . $File))
$Size += CalcDirectorySize($DirectoryPath . $File . DIRECTORY_SEPARATOR);
else
$Size += filesize($DirectoryPath . $File);
}
closedir($Dir);
return $Size;
}
//使用范例:
$SizeInBytes = CalcDirectorySize('data/');
希望本文所述对大家的php程序设计有所帮助。