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 相关文章推荐
Discuz 模板引擎的封装类代码
Jul 18 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
CodeIgniter安全相关设置汇总
Jul 03 PHP
php简单分页类实现方法
Feb 26 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
Nov 05 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
Mar 02 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
Feb 21 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 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php实现将上传word文件转为html的方法
2015/06/03 PHP
Yii核心验证器api详解
2016/11/23 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
使用Chart.js图表库制作漂亮的响应式表单
2015/10/28 Javascript
Javascript之String对象详解
2016/06/08 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
socket.io学习教程之基础介绍(一)
2017/04/29 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
python字典排序实例详解
2015/05/20 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
团员个人的自我评价
2013/12/02 职场文书
12岁生日感言
2014/01/21 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
简历自我评价优缺点
2015/03/11 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python