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生成便于打印的网页
Oct 09 PHP
PHP cron中的批处理
Sep 16 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
基于Zend的Captcha机制的应用
May 02 PHP
优化PHP代码技巧的小结
Jun 02 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
php调用shell的方法
Nov 05 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
php制作的简单验证码识别代码
Jan 26 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 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
用PHP实现Ftp用户的在线管理的代码
2007/03/06 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
解析用PHP读写音频文件信息的详解(支持WMA和MP3)
2013/05/10 PHP
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python实现文件复制删除
2016/04/19 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
小学社会实践活动总结
2014/07/03 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
人力资源管理求职信
2014/08/07 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
优秀班主任材料
2014/12/16 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
优秀学生主要事迹怎么写
2015/11/04 职场文书