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 mysql Errcode: 28 终极解决方法
Jul 01 PHP
PHP初学者最感迷茫的问题小结
Mar 27 PHP
php 安全过滤函数代码
May 07 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
Oct 14 PHP
php实现购物车功能(上)
Jul 23 PHP
PHP文件缓存smarty模板应用实例分析
Feb 26 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
May 23 PHP
Laravel实现ORM带条件搜索分页
Oct 24 PHP
PHP的new static和new self的区别与使用
Nov 27 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面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
[48:48]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Dream TIME
2014/05/21 DOTA
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
python scipy卷积运算的实现方法
2019/09/16 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
AmazeUI的下载配置与Helloworld的实现
2020/08/19 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
英国领先的在线高尔夫设备零售商:Golfgeardirect
2020/12/11 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
三好生演讲稿
2014/09/12 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
国庆节标语大全
2014/10/08 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
八年级作文之友谊
2019/12/02 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android