PHP统计目录中文件以及目录中目录大小的方法


Posted in PHP onJanuary 09, 2016

本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法。分享给大家供大家参考,具体如下:

<?php
 //循环遍历目录中所有的文件,并统计目录和文件的大小
 $dirName="phpMyAdmin";
 $dir=opendir($dirName); //返回一个资源类型
 while($fileName=readdir($dir)){
 $file=$dirName."/".$fileName;
 if($fileName!="." && $fileName!=".."){
  if(is_dir($file)){
  echo "<font color='red'>".$fileName."===".date("Y-m-d H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."</font><br/>";
  }
  else{
  echo "<font color='green'>".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."</font><br/>";
  }
 }
 }
 closedir($dir);
 //把文件或目录的大小转化为容易读的方式
 function toSize($size){
 $dw; //指定文件或目录统计的单位方式
 if($size>pow(2,30)){
  $dw="GB";
  $size=round($size/pow(2,30),2);
 }
 else if($size>pow(2,20)){
  $dw="MB";
  $size=round($size/pow(2,20),2);
 }
 else if($size>pow(2,10)){
  $dw="KB";
  $size=round($size/pow(2,10),2);
 }
 else
 {
  $dw="bytes";
 }
 return $size.$dw;
 }
 //利用递归的方式统计目录的大小
 function dirSize($dirName){
 $dirsize=0;
 $dir=opendir($dirName);
 while($fileName=readdir($dir)){
  $file=$dirName."/".$fileName;
  if($fileName!="." && $fileName!=".."){ //一定要进行判断,否则会出现错误的
  if(is_dir($file)){
   $dirsize+=dirSize($file);
  }
  else{
   $dirsize+=filesize($file);
  }
  }
 }
 closedir($dir);
 return $dirsize;
 }
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP生成自己的LOG文件
Oct 09 PHP
PHP针对JSON操作实例分析
Jan 12 PHP
ThinkPHP进程计数类Process用法实例详解
Sep 25 PHP
windows8.1下Apache+Php+MySQL配置步骤
Oct 30 PHP
浅谈PHP正则中的捕获组与非捕获组
Jul 18 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
WAF的正确bypass
Jan 05 PHP
PHP图片水印类的封装
Jul 06 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
PHP基于单例模式实现的mysql类
Jan 09 #PHP
thinkPHP查询方式小结
Jan 09 #PHP
thinkPHP中多维数组的遍历方法
Jan 09 #PHP
ThinkPHP中html:list标签用法分析
Jan 09 #PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 #PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
Jan 09 #PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 #PHP
You might like
cache_lite试用
2007/02/14 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
JavaScript 对象深入学习总结(经典)
2015/09/29 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
angular实现IM聊天图片发送实例
2017/05/08 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
python中threading开启关闭线程操作
2020/05/02 Python
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
数控专业大学生的自我鉴定
2013/11/13 职场文书
主题酒店策划书
2014/01/28 职场文书
总经理助理的职责
2014/03/14 职场文书
英语导游欢迎词
2015/09/30 职场文书
Java Redisson多策略注解限流
2022/09/23 Java/Android