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 相关文章推荐
一个好用的分页函数
Nov 16 PHP
PHP中通过ADO调用Access数据库的方法测试不通过
Dec 31 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
PHP取进制余数函数代码
Jan 19 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 PHP
Yii框架弹出框功能示例
Jan 07 PHP
Laravel中前端js上传图片到七牛云的示例代码
Sep 04 PHP
PHP实现字母数字混合验证码功能
Jul 11 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 Ajax乱码
2008/04/09 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
详解SPA中前端路由基本原理与实现方式
2018/09/12 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python数据分析库pandas基本操作方法
2018/04/08 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
python实现邮件自动发送
2019/08/10 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
详解python内置模块urllib
2020/09/09 Python
python ssh 执行shell命令的示例
2020/09/29 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
手术室护士长竞聘书
2014/03/31 职场文书
终止合同协议书
2014/04/17 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python