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 和 HTML
Oct 09 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php执行sql语句的写法
Mar 10 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
php静态文件生成类实例分析
Jan 03 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
Apr 04 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制作静态网站的模板框架(一)
2006/10/09 PHP
PHP跳转页面的几种实现方法详解
2013/06/08 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
python使用wxpy实现微信消息防撤回脚本
2019/04/29 Python
Series和DataFrame使用简单入门
2019/11/13 Python
python求绝对值的三种方法小结
2019/12/04 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Python如何避免文件同名产生覆盖
2020/06/09 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
html5调用app分享功能示例(WebViewJavascriptBridge)
2018/03/21 HTML / CSS
房地产出纳岗位职责
2013/12/01 职场文书
《姥姥的剪纸》教学反思
2014/02/25 职场文书
家长寄语大全
2014/04/02 职场文书
2015幼儿园庆元旦活动方案
2014/12/09 职场文书
教师调动申请报告
2015/05/18 职场文书
公安机关起诉意见书
2015/05/20 职场文书
2015年思想品德教学工作总结
2015/07/22 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL