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 相关文章推荐
自己动手做一个SQL解释器
Oct 09 PHP
oracle资料库函式库
Oct 09 PHP
PHP的开发框架的现状和展望
Mar 16 PHP
PHP实现MVC开发得最简单的方法――模型
Apr 10 PHP
PHP闭包实例解析
Sep 08 PHP
php跨站攻击实例分析
Oct 28 PHP
PHP引用的调用方法分析
Apr 25 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
PHP编程计算日期间隔天数的方法
Apr 26 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
php递归函数怎么用才有效
Feb 24 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实现限制IP访问的方法
2017/04/20 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
js表单验证实例讲解
2016/03/31 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
2019/07/16 Javascript
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
python多维数组切片方法
2018/04/13 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
python定时截屏实现
2020/11/02 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
无毒社区工作方案
2014/05/23 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL
Java界面编程实现界面跳转
2022/06/16 Java/Android