介绍
本篇文章给大家分享的是有关利用php怎么对目录文件的大小进行统计,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
& lt; ?,/* *, ,统计目录文件大小的函数, ,@author xfcode */, ,function dirsize (dir美元), {大敌; ,@ $ dh =, opendir (dir美元),, ,将$ size =0;祝福; ,while (file 美元;=,@readdir (dh)美元), {, ,if (file 美元;!=,“干净,以及file 美元;!=,“…“), {, ,path 美元;=,美元dir !”/啊N募?美元, ,if (is_dir(路径)美元), {, ,size 美元;+=,dirsize(路径),, ,}, elseif (is_file(路径)美元), {, ,size 美元;+=,文件大小(路径),, ,}, ,}, ,}, ,@closedir (dh);, ,return 规模;美元, }大敌;//函数最终获得; ,//例如:,=,美元dir_path “。/my_files",, ,dir_size 美元;=,dirsize (dir_path美元),, 美元,美元dir_size =, dir_size/1024/1024;, ,echo dir_size美元霸主地位;MB",, ,?在
这个函数可以递归遍历目录中的所有文件,并计算以MB为单位的文件总大小。
下面我们再来看个代码
& lt; php ? ,#循环遍历目录中所有的文件,并统计目录和文件的大小 美元,目录名=皃hpMyAdmin"; 美元,美元dir=opendir(目录名),,#返回一个资源类型 ,而($ fileName=readdir (dir美元)){=$美元,文件目录名!”/懊涝募? ,如果($ fileName !=案删?,,,$ fileName !=啊? { 如果才能(is_dir(文件)美元){ echo 才能“& lt; font 颜色=& # 39;红色# 39;在“。美元文件名!”===?date (“Y-m-d  H:我:s", filectime(文件)美元)!”==?filetype(文件)美元!”==?toSize (dirSize(文件)美元)干净& lt;/font> & lt; br/在“; ,,} 其他{才能 echo 才能“& lt; font 颜色=& # 39;绿色# 39;在“。美元文件名!”=====?date (“Y-m-d  H:我:s", filectime(文件)美元)!”====?filetype(文件)美元!”====?toSize(文件大小(文件)美元)干净& lt;/font> & lt; br/在“; ,,} ,} ,} ,closedir ($ dir); , ,#把文件或目录的大小转化为容易读的方式 美元,function toSize(大小){ ,dw美元;#指定文件或目录统计的单位方式 ,如果(size>美元;战俘(30)){ dw=美元才能“GB"; 美元才能大?圆(大?美元战俘(30),2); ,} ,else 如果(size>美元;战俘(20)){ dw=美元才能“MB"; 美元才能大?圆(大?美元战俘(20),2); ,} ,else 如果(size>美元;战俘(10)){ dw=美元才能“KB"; 美元才能大?圆(大?美元战俘(10),2); ,} 其他的, ,{ dw=美元才能“bytes"; ,} ,return 大小。dw美元; ,} ,#利用递归的方式统计目录的大小 美元,function dirSize(目录名){ 美元,dirsize=0; 美元,美元dir=opendir(目录名); ,而($ fileName=readdir (dir美元)){ 文件=美元才能目录名!”/懊涝募? 如果才能($ fileName !=案删?,,,$ fileName !=啊?{,,//一定要进行判断,否则会出现错误的 如果才能(is_dir(文件)美元){ 美元,才能dirsize +=dirsize($文件); ,,} 其他{才能 美元,才能dirsize +=文件大小($文件); ,,} ,,} ,} ,closedir ($ dir); ,return dirsize美元; ,} ?在
以上就是利用php怎么对目录文件的大小进行统计,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。