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 相关文章推荐
php的一个登录的类 [推荐]
Mar 16 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
Zend的Registry机制的使用说明
May 02 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
php里array_work用法实例分析
Jul 13 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
Dec 19 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
php 三大特点:封装,继承,多态
Feb 19 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 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
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
php使用百度天气接口示例
2014/04/22 PHP
PHP防盗链代码实例
2014/08/27 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
js定时器+简单的动画效果实例
2017/11/10 Javascript
浅析JS中回调函数及用法
2018/07/25 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
python中range()与xrange()用法分析
2016/09/21 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
python处理xml文件的方法小结
2017/05/02 Python
Python 从相对路径下import的方法
2018/12/04 Python
python实现局域网内实时通信代码
2019/12/22 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
职工食堂管理制度
2015/08/06 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书