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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

php广告加载类用法实例

本文实例讲述了php广告加载类的用法,非常实用。分享给大家供大家参考。具体方法如下: 该php广告加载类,支持异步与同步加载。需要使用Jquery实现。 ADLoader.class.p...

php使用pecl方式安装扩展操作示例

本文实例讲述了php使用pecl方式安装扩展操作。分享给大家供大家参考,具体如下: 安装pecl cd /usr/local/php/bin/ wget http://pear.ph...

php快速导入大量数据的实例方法

PHP快速导入大量数据到数据库的方法 第一种方法:使用insert into 插入,代码如下: $params = array(‘value'=>'50′); set_...

php使用pdo连接mssql server数据库实例

本文实例讲述了利用php的pdo来连接微软的mssql server数据库的方法,分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:$dsn = 'mssql:dbname=...

php自定义扩展名获取函数示例

本文实例讲述了php自定义扩展名获取函数。分享给大家供大家参考,具体如下: <?php $url = "http://www.abc.com/abc/de/fg.php...