首页 > 代码库 > php文件遍历类:FileBianli.class.php

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,BYTE32         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 ?>

 

php文件遍历类:FileBianli.class.php