本文演示PHP在指定目录下查找指定大小文件的方式:

用PHP找到文件大小的原则是遍历目录,然后使用文件大小计算文件大小。然后我们给它加上一个判断。下面是一些例子。

让我们看一下遍历目录,代码如下所示:

复制代码如下:函数树($目录)

{

不要美元= dir($目录);

回声n;

而($文件=美元->读取函数())

{

如果((is_dir($目录/文件))和($文件!= 和($文件)!= )

{

回声$文件;

树(目录);

}

其他的

回声$文件;

}

回声n;

不要美元->关闭();

}

开始/运行



目录是粉红色的;

树(, / nowamagic );

这是只显示文件中的所有目录,但我们需要添加圆(文件大小($ cpath) / 1024,1)功能的大小决定的,所以我们可以得到尺寸后得到的文件大小,代码如下。

复制代码代码如下:< PHP

标题(内容类型:文本/ HTML;字符集= GBK);

(0)set_time_limit;

dirPath美元= dirname(__file__);

字节

limitbyte美元= 1024 * 110;

你在这里 / /字节找到文件的大小是1024×100表示最低,1024×100字节,即100kb

arrres美元=美元arrtmp =阵();

showmaxfile(dirPath美元美元,limitbyte);

功能showmaxfile($路径,limitbyte美元){

全球arrres美元;

$ H = opendir($路径);

如果($){

(假)!= =($文件= readdir($))){

如果(文件$ =文件=……!!)

cpath美元= $路径。' / ' $文件;

如果(is_dir($ cpath)){

showmaxfile(cpath美元,美元limitbyte);

其他{ }

如果(文件大小($ cpath)> $ limitbyte){

arrres美元{ } =阵列($ cpath,圆(文件大小($ cpath) / 1024,1));

/ /回声{ $ cpath }。(文件大小($ cpath) / 1024)。KB;

}

}

}

}



}

closedir($ H);

}

foreach(arrres美元美元美元K = > v){

arrtmp美元{ $ K $ V } = { 1 };

}

Arsort(arrtmp美元);

foreach(arrtmp美元美元美元K = > v){

回声。str_replace(dirPath美元,美元,arrres { $ K } { 0 })。美元。arrres { $ K } { 1 }。;

}

>

最后给你一个字节计算功能,代码可以修改如下:

将代码复制如下:进入带单元的字节数

其原理是使用log来对字节数进行转换的次数是1024次。

*实际上是利用对数的性质来确定单位。

* /

功能size2mb(合大小,数字= 2美元){ / /数字,保留小数点

$单位=阵列(k,是','克',没有','p'); / /阵列单元,必须是1024进制转。

$基础= 1024; /对数基

$ i =地板(日志($,$基础));1024字节的对数值舍入。

返回回合(美元/战俘($基础,$一),$数字)。美元。美元单位{我}。B;

}

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