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 文件上传功能实现代码
Jun 24 PHP
PHP的博客ping服务代码
Feb 04 PHP
PHP基础学习之流程控制的实现分析
Apr 28 PHP
php中session退出登陆问题
Feb 27 PHP
PHP getallheaders无法获取自定义头(headers)的问题
Mar 23 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
Thinkphp5+uploadify实现的文件上传功能示例
May 26 PHP
Yii2语言国际化自动配置详解
Aug 22 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 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
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
php pack与unpack 摸板字符字符含义
2009/10/29 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
jQuery技巧总结
2011/01/01 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
Bootstrap框架实现广告轮播效果
2016/11/28 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
微信小程序实现多选框功能的实例代码
2020/06/24 Javascript
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python格式化字符串实例总结
2014/09/28 Python
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
python 网络编程常用代码段
2016/08/28 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Django 重写用户模型的实现
2019/07/29 Python
Python list与NumPy array 区分详解
2019/11/06 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
python实现同一局域网下传输图片
2020/03/20 Python
Python中内建模块collections如何使用
2020/05/27 Python
使用django自带的user做外键的方法
2020/11/30 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
Java如何读取CLOB字段
2013/10/10 面试题
关于晚自习早退的检讨书
2014/09/13 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书