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

yipeiwu_com5年前PHP代码库

本文实例讲述了php计算整个目录大小的方法。分享给大家供大家参考。具体实现方法如下:

/**
 * Calculate the full size of a directory
 *
 * @author   Jonas John
 * @version   0.2
 * @param    string  $DirectoryPath  Directory path
 */
function CalcDirectorySize($DirectoryPath) {
  // I reccomend using a normalize_path function here
  // to make sure $DirectoryPath contains an ending slash
  // To display a good looking size you can use a readable_filesize
  // function.
  $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函数

1.产生随机字符串函数 function random($length) { $hash = @#@#; $chars = @#abcdefghijklmnopqrstuvwxyz012...

Windows环境下安装PHP Pear的方法图文教程

Windows环境下安装PHP Pear的方法图文教程

本文实例讲述了Windows环境下安装PHP Pear的方法。分享给大家供大家参考,具体如下: PEAR简介 PEAR是PHP扩展与应用库(the PHP Extension and A...

json的键名为数字时的调用方式(示例代码)

对于键名为数字或者非正常变量字符时(如有空格),必须使用obj[xx]方式获取值。复制代码 代码如下:<?php //声明json数据$array = array('result'...

PHP使用内置函数file_put_contents写入文件及追加内容的方法

本文实例讲述了PHP使用内置函数file_put_contents写入文件及追加内容的方法。分享给大家供大家参考,具体如下: 以追加形式写入内容 当设置 flags 参数值为 FILE_...

基于PHP一些十分严重的缺陷详解

1. 对递归的不良支持递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是,PHP并不擅长递归。...