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 相关文章推荐
Zend公司全球首推PHP认证
Oct 09 PHP
php 中的str_replace 函数总结
Apr 27 PHP
PHP读取MySQL数据代码
Jun 05 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
PHPEXCEL 使用小记
Jan 06 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
laravel框架关于搜索功能的实现
Mar 15 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页面间传递参数实例代码
2008/06/05 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
Jquery 表格合并的问题分享
2011/09/17 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
JS中Iframe之间传值及子页面与父页面应用
2013/03/11 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
Bootstrap表单布局
2016/07/19 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
jquery实现自定义图片裁剪功能【推荐】
2017/03/08 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
js实现简易聊天对话框
2017/08/17 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
python实现斐波那契递归函数的方法
2014/09/08 Python
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
Python yield 使用浅析
2015/05/28 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
python游戏开发的五个案例分享
2020/03/09 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
廉政教育心得体会
2014/01/01 职场文书
教师旷工检讨书
2014/01/18 职场文书
英语生日邀请函
2014/01/23 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
劳资协议书范本
2014/04/23 职场文书
信息技术课后反思
2014/04/27 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
社区重阳节活动总结
2015/03/24 职场文书
党支部意见范文
2015/06/02 职场文书
银行工作心得体会范文
2016/01/23 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server