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高级OOP技术演示
Aug 27 PHP
PHP5中使用DOM控制XML实现代码
May 07 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
基于wordpress主题制作的具体实现步骤
May 10 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
php批量删除cookie的简单实现方法
Jan 26 PHP
PHP常用处理静态操作类
Apr 03 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
Apache PHP MySql安装配置图文教程
Aug 27 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 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
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
php创建无限级树型菜单
2015/11/05 PHP
PHP htmlspecialchars_decode()函数用法讲解
2019/03/01 PHP
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
jQuery的框架介绍
2016/05/11 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
jQuery实现的背景颜色渐变动画效果示例
2017/03/24 jQuery
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
Python可迭代对象操作示例
2019/05/07 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
中文师范生自荐信
2014/01/30 职场文书
社会实践活动总结范文
2014/07/03 职场文书
2014年维稳工作总结
2014/11/18 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL
Nginx配置使用详解
2022/07/07 Servers
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android