php文件遍历类:FileBianli.class.php
1 <?php 2 3 class FileBianli{ 4 private $dirname; 5 private $dirsize=0; 6 private $totalsize=0;//当前目录大小 7 8 9 function bianliDir($dirname){ 10 11 $dir=opendir($dirname); 12 13 while($fileName=readdir($dir)){ 14 if($fileName!="." && $fileName!=".."){ 15 $file=$dirname.‘/‘.$fileName; 16 if(is_dir($file)){ 17 echo "<font color=‘red‘>".$fileName."-".date("Y-m-d H:i:s")."-".filetype($file)."-".$this->toSize($this->dirsize($file))."-</font><br>"; 18 $totalsize+=$this->dirsize($file); 19 }else{ 20 echo "<font color=‘blue‘>".$fileName."-".date("Y-m-d H:i:s")."-".filetype($file)."-".$this->toSize(filesize($file))."-</font><br>"; 21 $totalsize+=filesize($file); 22 } 23 } 24 } 25 closedir($dir); 26 echo $dirname."共计大小为:".$this->toSize($totalsize)."<br>"; 27 return true; 28 } 29 30 31 //将字节转换成GB,MB,KB,BYTE 32 function toSize($size){ 33 $dw="Bytes"; 34 if($size > pow(2,30)){ 35 $size=round($size/pow(2,30),2); 36 $dw="GB"; 37 }else if($size > pow(2,20)){ 38 $size=round($size/pow(2,20),2); 39 $dw="MB"; 40 }else if($size > pow(2,10)){ 41 $size=round($size/pow(2,10),2); 42 $dw="KB"; 43 }else{ 44 $dw="bytes"; 45 } 46 return $size.$dw; 47 48 } 49
//计算目录的大小 50 function dirsize($dirname){ 51 52 $dir=opendir($dirname); 53 54 while($filename=readdir($dir)){ 55 $file=$dirname."/".$filename; 56 if($filename!="." && $filename!=".."){ 57 if(is_dir($file)){ 58 $this->dirsize($file);//递归完成 59 }else{ 60 $dirsize+=filesize($file); 61 } 62 } 63 } 64 65 closedir($dir); 66 return $dirsize; 67 } 68 } 69 ?>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。