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 session 预定义数组
Mar 16 PHP
php split汉字
Jun 05 PHP
ThinkPHP关联模型操作实例分析
Sep 23 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
thinkphp框架下404页面设置 仅三步
May 14 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
Yii2.0表关联查询实例分析
Jul 18 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
PDO::rollBack讲解
Jan 29 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
消息持续发送的完整例子
2006/10/09 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
PHP学习笔记之session
2018/05/06 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
js更优雅的兼容
2010/08/12 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
Python发送Email方法实例
2014/08/21 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
优良学风班申请材料
2014/02/13 职场文书
委托书样本
2014/04/02 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
班主任寄语2015
2015/02/26 职场文书
学习心理学心得体会
2016/01/22 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android