php查找指定目录下指定大小文件的方法


Posted in PHP onNovember 28, 2014

本文实例讲述了php查找指定目录下指定大小文件的方法。分享给大家供大家参考。具体实现方法如下:

php查找文件大小的原理是遍历目录然后再利用filesize来计算文件大小,然后我们再加一判断就可以了,下面整理了一些例子.

我们先来看遍历目录,代码如下:

function tree($directory)  

{  

 $mydir = dir($directory);  

 echo "<ul>n";  

 while($file = $mydir->read()) 

 {  

  if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))  

  { 

   echo "<li><font color="#ff00cc"><b>$file</b></font></li>n";  

   tree("$directory/$file");  

  }  

  else  

  echo "<li>$file</li>n";  

 }  

 echo "</ul>n";  

 $mydir->close();  

}  

//开始运行 

 

echo "<h2>目录为粉红色</h2><br>n";  

tree("./nowamagic");

这样只是把所有目录下的文件显示了,但我们要判断大小需加上round(filesize($cpath)/1024,1)函数了,这样我们获取大小之后就可以显示文件大小了,代码如下:
<?php 

header("Content-Type:text/html;charset=gbk"); 

set_time_limit(0); 

$dirpath=dirname(__FILE__); 

//bytes 

$limitByte=1024*110; 

//这里改成你合适的查找文件最低大小,单位为字节。1024*100表示 1024*100字节,即100KB 

$arrRes=$arrTmp=array(); 

showMaxFile($dirpath,$limitByte); 

function showMaxFile($path,$limitByte){ 

global $arrRes; 

$h=opendir($path); 

if($h){ 

while (false !== ($file = readdir($h))) { 

if($file!='.' && $file!='..'){ 

$cpath=$path.'/'.$file; 

if(is_dir($cpath)){ 

showMaxFile($cpath,$limitByte); 

}else{ 

if(filesize($cpath) > $limitByte){ 

$arrRes[]=array($cpath,round(filesize($cpath)/1024,1)); 

//echo "<p>{$cpath}<br />".(filesize($cpath) / 1024)."KB</p>"; 

} 

} 

} 

} 

 

} 

closedir($h); 

} 

foreach($arrRes as $k=>$v){ 

$arrTmp[$k]=$v[1]; 

} 

arsort($arrTmp); 

foreach($arrTmp as $k=>$v){ 

echo "<p>".str_replace($dirpath,'',$arrRes[$k][0])."<br />".$arrRes[$k][1]."</p>"; 

} 

?>

最后给大家附一个字节计算函数,这个可以转换,代码如下:
//字节数转换成带单位的 

/* 原理是利用对数求出欲转换的字节数是1024的几次方。 

 * 其实就是利用对数的特性确定单位。 

*/ 

function size2mb($size,$digits=2){ //digits,要保留几位小数 

  $unit= array('','K','M','G','T','P');//单位数组,是必须1024进制依次的哦。 

  $base= 1024;//对数的基数 

  $i   = floor(log($size,$base));//字节数对1024取对数,值向下取整。 

  return round($size/pow($base,$i),$digits).' '.$unit[$i] . 'B'; 

}

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
Get或Post提交值的非法数据处理
Oct 09 PHP
用PHP实现多服务器共享SESSION数据的方法
Mar 16 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 PHP
PHP 类相关函数的使用详解
May 10 PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
php实现源代码加密的方法
Jul 11 PHP
win7系统配置php+Apache+mysql环境的方法
Aug 21 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
php递归函数怎么用才有效
Feb 24 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
php中使用array_filter()函数过滤数组实例讲解
Mar 03 PHP
thinkphp四种url访问方式详解
Nov 28 #PHP
thinkphp数据查询和遍历数组实例
Nov 28 #PHP
php中fgetcsv()函数用法实例
Nov 28 #PHP
PHP获取服务器端信息的方法
Nov 28 #PHP
thinkphp模板用法和内容输出实例
Nov 28 #PHP
配置php.ini实现PHP文件上传功能
Nov 27 #PHP
php程序员应具有的7种能力小结
Nov 27 #PHP
You might like
Symfony2学习笔记之模板用法详解
2016/03/17 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
DOM 高级编程
2015/05/06 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
python保存文件方法小结
2018/07/27 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
聚美优品励志广告词
2014/03/14 职场文书
小学六年级学生评语
2014/04/22 职场文书
经济类毕业生求职信
2014/06/26 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
教师群众路线教育实践活动学习笔记
2014/11/05 职场文书
西安导游词
2015/02/12 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python