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 相关文章推荐
FleaPHP的安全设置方法
Sep 15 PHP
PHP文章按日期(月日)SQL归档语句
Nov 29 PHP
php curl基本操作详解
Jul 23 PHP
thinkPHP查询方式小结
Jan 09 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
php格式文件打开的四种方法
Feb 24 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 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
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
2017/08/31 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
vue中接口域名配置为全局变量的实现方法
2018/09/20 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
JS pushlet XMLAdapter适配器用法案例解析
2020/10/16 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python字符串,数值计算
2016/10/05 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
python实现自动清理重复文件
2020/08/24 Python
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
2014年政风行风评议工作总结
2014/10/21 职场文书
2014年商场工作总结
2014/11/22 职场文书
课改心得体会范文
2016/01/25 职场文书
在 HTML 页面中使用 React的场景分析
2022/01/18 Javascript
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python