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 相关文章推荐
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
php 仿Comsenz安装效果代码打包提供下载
May 09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
php中判断文件空目录是否有读写权限的函数代码
Aug 07 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 PHP
thinkphp模板继承实例简述
Nov 26 PHP
CI框架简单邮件发送类实例
May 18 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP实现类似题库抽题效果
Aug 16 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 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
dede3.1分页文字采集过滤规则详说(图文教程)
2007/04/03 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
教你用AngularJS框架一行JS代码实现控件验证效果
2014/06/23 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
python抓取网页内容示例分享
2014/02/24 Python
Python实现模拟时钟代码推荐
2015/11/08 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
python 双循环遍历list 变量判断代码
2020/05/04 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
毕业生自我推荐
2013/11/04 职场文书
师范院校学生自荐信范文
2013/12/27 职场文书
给导游的表扬信
2014/01/10 职场文书
会计职业生涯规划书
2014/01/13 职场文书
心理咨询承诺书
2014/05/20 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
简爱电影观后感
2015/06/10 职场文书
爱的教育观后感
2015/06/17 职场文书
人代会简报
2015/07/21 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
html5表单的required属性使用
2021/07/07 HTML / CSS
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技