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 SQL Injection with MySQL
Feb 27 PHP
php 获取全局变量的代码
Apr 21 PHP
关于php mvc开发模式的感想
Jun 28 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
Jun 28 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
PHP生成条形图的方法
Dec 10 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
php设计模式之观察者模式定义与用法经典示例
Sep 19 PHP
php 中的信号处理操作实例详解
Mar 04 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实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
PHP 模拟登陆功能实例详解
2019/09/10 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
为超链接加上disabled后的故事
2010/12/10 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
Javascript节点关系实例分析
2015/05/15 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
layui表格数据重载
2019/07/27 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
深入理解Python中变量赋值的问题
2017/01/12 Python
Django日志模块logging的配置详解
2017/02/14 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
感恩节活动方案
2014/01/27 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
四年级学生期末评语
2014/12/26 职场文书
交警失职检讨书
2015/01/26 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
新闻通讯稿范文
2015/07/22 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
python 实现定时任务的四种方式
2021/04/01 Python