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 Smarty生成EXCEL文档的代码
Aug 23 PHP
晋城吧对DiscuzX进行的前端优化要点
Sep 05 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
PHP文件操作实现代码分享
Sep 01 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
php实现的PDO异常处理操作分析
Dec 27 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
php 高效率写法 推荐
2010/02/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
基于Jquery的简单&简陋Tabs插件代码
2010/02/09 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
2018/11/20 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
python实现分页效果
2017/10/25 Python
Python实现的计算器功能示例
2018/04/26 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python sep参数使用方法详解
2020/02/12 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
中学教师自我鉴定
2014/02/07 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
音乐之声观后感
2015/06/04 职场文书
2015年科普工作总结
2015/07/23 职场文书