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


Posted in PHP onJune 01, 2015

本文实例讲述了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 相关文章推荐
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
Apr 25 PHP
用PHP为SHOPEX增加日志功能代码
Jul 02 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
PHP链表操作简单示例
Oct 15 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 PHP
php获取系统变量方法小结
May 29 #PHP
typecho插件编写教程(六):调用接口
May 28 #PHP
PHP cURL初始化和执行方法入门级代码
May 28 #PHP
php支持中文字符串分割的函数
May 28 #PHP
typecho插件编写教程(五):核心代码
May 28 #PHP
php实现paypal 授权登录
May 28 #PHP
typecho插件编写教程(四):插件挂载
May 28 #PHP
You might like
apache rewrite_module模块使用教程
2008/01/10 PHP
PHP文件注释标记及规范小结
2012/04/01 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
Javascript常用运算符(Operators)-javascript基础教程
2007/12/14 Javascript
jQuery 浮动广告实现代码
2008/12/25 Javascript
javascript RadioButtonList获取选中值
2009/04/09 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
python 利用zmail库发送邮件
2020/09/11 Python
天游软件面试
2013/11/23 面试题
文员岗位职责
2013/11/09 职场文书
酒店大堂副理的职责范文
2014/02/13 职场文书
公证委托书模板
2014/04/03 职场文书
银行进社区活动总结
2014/07/07 职场文书
旷课检讨书范文
2015/01/27 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
Python简易开发之制作计算器
2022/04/28 Python