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 相关文章推荐
图形数字验证代码
Oct 09 PHP
用PHP编写PDF文档生成器
Oct 09 PHP
oracle资料库函式库
Oct 09 PHP
php面向对象全攻略 (三)特殊的引用“$this”的使用
Sep 30 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
PHP基于MySQL数据库实现对象持久层的方法
Jun 17 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
Javascript中的相等与不等运算
2010/04/25 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Python3分析处理声音数据的例子
2019/08/27 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
2020/04/14 Python
Python更换pip源方法过程解析
2020/05/19 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
彪马土耳其官网:PUMA土耳其
2019/07/14 全球购物
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
银行毕业实习自我鉴定
2013/09/19 职场文书
社会实践感言
2014/01/25 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
联谊会开场白
2015/06/01 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js