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 相关文章推荐
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
php实现的Captcha验证码类实例
Sep 22 PHP
php检查是否是ajax请求的方法
Apr 16 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
PHP实现递归的三种方法
Jul 04 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
php数组实现根据某个键值将相同键值合并生成新二维数组的方法
2017/04/26 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
JS版网站风格切换实例代码
2008/10/06 Javascript
jquery异步跨域访问代码
2013/06/28 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
2018/06/07 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
Python素数检测实例分析
2015/06/15 Python
tornado 多进程模式解析
2018/01/15 Python
python得到单词模式的示例
2018/10/15 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
Python关于反射的实例代码分享
2020/02/20 Python
python求解汉诺塔游戏
2020/07/09 Python
html5的localstorage详解
2017/05/09 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
一套带网友答案的.NET笔试题
2016/12/06 面试题
简历中个人自我评价分享
2014/03/15 职场文书
就业意向书范文
2014/04/01 职场文书
班长演讲稿范文
2014/04/24 职场文书
让生命充满爱观后感
2015/06/08 职场文书
2015年庆祝国庆节66周年演讲稿
2015/07/30 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书