php计算整个目录大小的方法
这篇文章主要介绍了php计算整个目录大小的方法,涉及php递归遍历与文件操作的相关技巧,需要的朋友可以参考下,本文实例讲述了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/');