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类的使用 实例代码讲解
Dec 28 PHP
php 文件上传代码(限制jpg文件)
Jan 05 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
ThinkPHP验证码使用简明教程
Mar 05 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
Laravel中Kafka的使用详解
Mar 24 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
javascript里的条件判断
2007/02/27 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
jquery 选项卡效果 新手代码
2011/07/08 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
js实现文字列表无缝滚动效果
2017/06/23 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
python机器学习之随机森林(七)
2018/03/26 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
postman传递当前时间戳实例详解
2019/09/14 Python
Python @property使用方法解析
2019/09/17 Python
详解pandas获取Dataframe元素值的几种方法
2020/06/14 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
学校元旦晚会方案
2014/02/19 职场文书
矿泉水广告词
2014/03/20 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers