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

yipeiwu_com6年前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/');

希望本文所述对大家的php程序设计有所帮助。

相关文章

linux下 C语言对 php 扩展

一,搭建php环境下载php 5.2.6 源码 并解压编译安装,搭建php环境二,创建扩展项目进入源码目录cd php5.2.6/ext/./ext_skel --extname=my_...

PHP处理postfix邮件内容的方法

本文实例讲述了PHP处理postfix邮件内容的方法。分享给大家供大家参考。具体如下: <?php //从输入读取到所有的邮件内容 $email = ""; $fd =...

PHP入门教程之数学运算技巧总结

本文实例讲述了PHP入门教程之数学运算技巧。分享给大家供大家参考,具体如下: Demo1.php <?php // $a = '5'; // $b = 7+$a; //...

黑夜路人出的几道php笔试题

一、基础题 1. 写出如下程序的输出结果 复制代码 代码如下: <? $str1 = null; $str2 = false; echo $str1==$str2 ? '相等' :...

基于OpenCV的PHP图像人脸识别技术

openCV是一个开源的用C/C++开发的计算机图形图像库,非常强大,研究资料很齐全。本文重点是介绍如何使用php来调用其中的局部的功能。人脸侦查技术只是openCV一个应用分支。 1....