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的类树(支持无限分类)
Oct 09 PHP
新闻分类录入、显示系统
Oct 09 PHP
IP攻击升级,程序改进以对付新的攻击
Nov 23 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
php去除数组中重复数据
Nov 18 PHP
详解PHP中的PDO类
Jul 06 PHP
Yii快速入门经典教程
Dec 28 PHP
php封装的表单验证类完整实例
Oct 19 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
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
php模拟js函数unescape的函数代码
2012/10/20 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
Angular路由简单学习
2016/12/26 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
node后端服务保活的实现
2019/11/10 Javascript
js实现小星星游戏
2020/03/23 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
Python中按键来获取指定的值
2019/03/02 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
python IDLE添加行号显示教程
2020/04/25 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
What is view? why do we have view?
2012/06/22 面试题
学习两会精神心得范文
2014/03/17 职场文书
暑假家长评语大全
2014/04/17 职场文书
教师教学评估方案
2014/05/09 职场文书
大专学生求职信
2014/07/04 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
银行先进个人总结
2015/02/15 职场文书
小学生家长意见
2015/06/03 职场文书
Python字符串格式化方式
2022/04/07 Python