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数据库连接类~~做成一个分页类!
Nov 25 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
简单的自定义php模板引擎
Aug 26 PHP
PHP基于自增数据如何生成不重复的随机数示例
May 19 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
phpinfo的知识点总结
Oct 10 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正则走开
2008/03/15 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
[JSF]使用DataModel处理表行事件的实例代码
2013/08/05 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
详解A标签中href=""的几种用法
2017/08/20 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
Vue绑定内联样式问题
2018/10/17 Javascript
Vue实现点击显示不同图片的效果
2019/08/10 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
python发腾讯微博代码分享
2014/01/10 Python
Python continue语句用法实例
2014/03/11 Python
Python的Asyncore异步Socket模块及实现端口转发的例子
2016/06/14 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python unichr函数知识点总结
2020/12/16 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
初入社会应届生求职信
2013/11/18 职场文书
质检部经理岗位职责
2014/02/19 职场文书
企业环保标语
2014/06/10 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
入党培养人考察意见
2015/06/08 职场文书
党员观看《筑梦中国》心得体会
2016/01/18 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python