php查找指定目录下指定大小文件的方法
作者:shichen2014 发布时间:2023-09-03 17:53:36
标签: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程序设计有所帮助。


猜你喜欢
- 开发工具**Python版本:**3.6.4相关模块:pyecharts模块;以及一些Python自带的模块。环境搭建安装Python并添加
- 前几天,酋长同学在日志里提到了关于Google宽松的管理制度,一个产品任务下来是没有时间限制的,Google深信在有时间限制下的产品肯定是不
- 前段时间,微信群有一个朋友问了下面这个问题,虽然很简单,但是觉得有必要和大家做一个知识分享。这个问题一共有两个需求:① 获取视频的文件大小;
- 摘要在上一篇文章,时间日期处理的入门里面,我们简单介绍了一下载pandas里对时间日期的简单操作。下面将补充一些常用方法。时间日期的比较假设
- 方法一、主要问题是docx受lxml的影响,如果lxml的版本不对的话,docx根本装不上,不管你用pip,easy_install或者是用
- 图片轮播滤镜转换效果,只支持ie浏览器<img width="156" height="60"
- 在numpy的ndarray类型中,似乎没有直接返回特定索引的方法,我只找到了where函数,但是where函数对于寻找某个特定值对应的索引
- 前两天有一位网友问我一个关于Javascript中++操作符的问题,他的代码大致是这样的ADS.addEvent(window,'c
- 1. 检查HTML元素是否有拼写错误、是否忘记结束标记 即使是老手也经常会弄错div的嵌套关系。可以用dreamweaver的验证功能检查一
- PDO::beginTransactionPDO::beginTransaction 启动一个事务(PHP 5 >= 5.1.0, P
- 总体跟官方样例相似,但是官方样例因为部分代码有误无法运行,同时需要了解json,以及前后端知识需要一些时间,因此供大家参考。这个是views
- 可以从官网加载预训练好的模型:import torchvision.models as modelsmodel = models.vgg16
- 1. 打开FrontPage 2003,点击“文件→新建→新建网站→其他网站模板”,然后选择“数据库界面向导”,给定网站路径后,单击[确定]
- 我是初学者,对 flask 很陌生,网上搜到的文章都看不懂,很尴尬。本意是打算对广发信用卡diy卡积分兑换签帐额的数量进行爬虫监控。将抓取到
- 通过cpython把python的文件转换为二进制文件,达到代码保护的目的1、下载Cython-0.28.2.tar.gz python s
- 本文使用TensorFlow实现最简单的线性回归模型,供大家参考,具体内容如下线性拟合y=2.7x+0.6,代码如下:import tens
- 近期安装了python后,发现使用pycharm工具打开代码后发现代码下边会有波浪线的显示;但是该代码语句确实没有错误,通过查询发现了两种方
- 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的。对于初学者来说,很容易被这官网上众
- 写下这篇博客,起源于Tornado邮件群组的这个问题how to use outer variable in inner method,这里
- 视频观看视频Pygame模块之pygame.draw本文将主要介绍Pygame的draw模块,主要内容翻译自pygame的官方文档pygam