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(1) php开发环境配置
Feb 15 PHP
php快速url重写 更新版[需php 5.30以上]
Apr 20 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
Dec 25 PHP
ThinkPHP实现事务回滚示例代码
Jun 23 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
PHP会话控制:Session与Cookie详解
Sep 27 PHP
php带抄送和密件抄送的邮件发送方法
Mar 20 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 PHP
如何通过PHP实现Des加密算法代码实例
May 09 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
mysql时区问题
2008/03/26 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
angular.js 路由及页面传参示例
2017/02/24 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python实现翻转数组功能示例
2018/01/12 Python
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
大一新生军训时的自我评价分享
2013/12/05 职场文书
个人求职信范文分享
2014/01/06 职场文书
学生会离职感言
2014/02/11 职场文书
建房协议书
2014/04/11 职场文书
平安家庭示范户事迹
2014/06/02 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书