• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-25) 13次浏览 已收录 0个评论

本文实例讲述了php查找指定目录下指定大小文件的方法。分享给大家供大家参考。具体实现方法如下:

php查找文件大小的原理是遍历目录然后再利用filesize来计算文件大小,然后我们再加一判断就可以了,下面整理了一些例子.

我们先来看遍历目录,代码如下:

function tree($directory)  <br />{  <br /> $mydir = dir($directory);  <br /> echo "<ul>n";  <br /> while($file = $mydir->read()) <br /> {  <br />  if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))  <br />  { <br />   echo "<li><font color="#ff00cc"><b>$file</b></font></li>n";  <br />   tree("$directory/$file");  <br />  }  <br />  else  <br />  echo "<li>$file</li>n";  <br /> }  <br /> echo "</ul>n";  <br /> $mydir->close();  <br />}  <br />//开始运行 <br /> <br />echo "<h2>目录为粉红色</h2><br>n";  <br />tree("./nowamagic");

这样只是把所有目录下的文件显示了,但我们要判断大小需加上round(filesize($cpath)/1024,1)函数了,这样我们获取大小之后就可以显示文件大小了,代码如下:

<?php <br />header("Content-Type:text/html;charset=gbk"); <br />set_time_limit(0); <br />$dirpath=dirname(__FILE__); <br />//bytes <br />$limitByte=1024*110; <br />//这里改成你合适的查找文件最低大小,单位为字节。1024*100表示 1024*100字节,即100KB <br />$arrRes=$arrTmp=array(); <br />showMaxFile($dirpath,$limitByte); <br />function showMaxFile($path,$limitByte){ <br />global $arrRes; <br />$h=opendir($path); <br />if($h){ <br />while (false !== ($file = readdir($h))) { <br />if($file!='.' && $file!='..'){ <br />$cpath=$path.'/'.$file;<i>本文@来#源gaodai$ma#com搞$$代**码网</i><strong>搞代gaodaima码</strong> <br />if(is_dir($cpath)){ <br />showMaxFile($cpath,$limitByte); <br />}else{ <br />if(filesize($cpath) > $limitByte){ <br />$arrRes[]=array($cpath,round(filesize($cpath)/1024,1)); <br />//echo "<p>{$cpath}<br />".(filesize($cpath) / 1024)."KB

“;
}
}
}
}

}
closedir($h);
}
foreach($arrRes as $k=>$v){
$arrTmp[$k]=$v[1];
}
arsort($arrTmp);
foreach($arrTmp as $k=>$v){
echo “

“.str_replace($dirpath,”,$arrRes[$k][0]).”
“.$arrRes[$k][1].”

“;
}
?>

最后给大家附一个字节计算函数,这个可以转换,代码如下:

//字节数转换成带单位的 <br />/* 原理是利用对数求出欲转换的字节数是1024的几次方。 <br /> * 其实就是利用对数的特性确定单位。 <br />*/ <br />function size2mb($size,$digits=2){ //digits,要保留几位小数 <br />  $unit= array('','K','M','G','T','P');//单位数组,是必须1024进制依次的哦。 <br />  $base= 1024;//对数的基数 <br />  $i   = floor(log($size,$base));//字节数对1024取对数,值向下取整。 <br />  return round($size/pow($base,$i),$digits).' '.$unit[$i] . 'B'; <br />}

希望本文所述对大家的PHP程序设计有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php查找指定目录下指定大小文件的方法_PHP

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址