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 相关文章推荐
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
thinkphp分页实现效果
Oct 13 PHP
php array_key_exists() 与 isset() 的区别
Oct 24 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php中autoload的用法总结
2013/11/08 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
深入理解python中的select模块
2017/04/23 Python
Python使用sorted对字典的key或value排序
2018/11/15 Python
python简单实现插入排序实例代码
2020/12/16 Python
关于python中remove的一些坑小结
2021/01/04 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
领导证婚人证婚词
2014/01/13 职场文书
关于逃课的检讨书
2014/01/23 职场文书
2014年测量员工作总结
2014/12/12 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
雷锋之歌观后感
2015/06/10 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书
matplotlib之pyplot模块实现添加子图subplot的使用
2021/04/25 Python
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
Redis实战高并发之扣减库存项目
2022/04/14 Redis
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python