php查找指定目录下指定大小文件的方法

2015-01-24信息快讯网

这篇文章主要介绍了php查找指定目录下指定大小文件的方法,首先遍历目录,再查找文件大小,并附带给出了一个计算字节的函数,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了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使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
php导入excel文件到mysql数据库的方法
PHP上传文件时自动分配路径的方法
PHP中使用SimpleXML检查XML文件结构实例
php静态文件返回304技巧分享
php使用fputcsv()函数csv文件读写数据的方法
PHP实现格式化文件数据大小显示的方法
discuz目录文件资料汇总
php使用递归计算文件夹大小
apache中为php 设置虚拟目录
PHP使用glob函数遍历目录或文件夹的方法
php实现按指定大小等比缩放生成上传图片缩略图的方法
PHP截取指定图片大小的方法
php最简单的删除目录与文件实现方法
thinkphp四种url访问方式详解
thinkphp数据查询和遍历数组实例
php中fgetcsv()函数用法实例
PHP获取服务器端信息的方法
thinkphp模板用法和内容输出实例
配置php.ini实现PHP文件上传功能
PHP实现文件下载详解
thinkphp文件引用与分支结构用法实例
PHP获取当前所在目录位置的方法
Yii入门教程之目录结构、入口文件及路由设置
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
php目录遍历函数opendir用法实例
PHP解析目录路径的3个函数总结
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
PHP统计目录大小的自定义函数分享
PHP字符串word末字符实现大小写互换的方法
让ThinkPHP支持大小写url地址访问的方法
叫你如何修改Nginx与PHP的文件上传大小限制
PHP中比较时间大小实例
©2014-2024 dbsqp.com