php计算整个目录大小的方法

这篇文章主要介绍了php计算整个目录大小的方法,涉及php针对目录操作的相关技巧,需要的朋友可以参考下,本文实例讲述了php计算整个目录大小的方法。分享给大家供大家参考。具体实现方法如下:

  1. /**
  2. * Calculate the full size of a directory
  3. *
  4. * @author Jonas John
  5. * @version 0.2
  6. * @param string $DirectoryPath Directory path
  7. */
  8. function CalcDirectorySize($DirectoryPath) {
  9. // I reccomend using a normalize_path function here
  10. // to make sure $DirectoryPath contains an ending slash
  11. // To display a good looking size you can use a readable_filesize
  12. // function.
  13. $Size = 0;
  14. $Dir = opendir($DirectoryPath);
  15. if (!$Dir)
  16. return -1;
  17. while (($File = readdir($Dir)) !== false) {
  18. // Skip file pointers
  19. if ($File[0] == '.') continue;
  20. // Go recursive down, or add the file size
  21. if (is_dir($DirectoryPath . $File))
  22. $Size += CalcDirectorySize($DirectoryPath . $File . DIRECTORY_SEPARATOR);
  23. else
  24. $Size += filesize($DirectoryPath . $File);
  25. }
  26. closedir($Dir);
  27. return $Size;
  28. }
  29. //使用范例:
  30. $SizeInBytes = CalcDirectorySize('data/');