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

 <?php

     class FileBianli{
private $dirname;
private $dirsize=0;
private $totalsize=0;//当前目录大小 function bianliDir($dirname){ $dir=opendir($dirname); while($fileName=readdir($dir)){
if($fileName!="." && $fileName!=".."){
$file=$dirname.'/'.$fileName;
if(is_dir($file)){
echo "<font color='red'>".$fileName."-".date("Y-m-d H:i:s")."-".filetype($file)."-".$this->toSize($this->dirsize($file))."-</font><br>";
$totalsize+=$this->dirsize($file);
}else{
echo "<font color='blue'>".$fileName."-".date("Y-m-d H:i:s")."-".filetype($file)."-".$this->toSize(filesize($file))."-</font><br>";
$totalsize+=filesize($file);
}
}
}
closedir($dir);
echo $dirname."共计大小为:".$this->toSize($totalsize)."<br>";
return true;
} //将字节转换成GB,MB,KB,BYTE
function toSize($size){
$dw="Bytes";
if($size > pow(2,30)){
$size=round($size/pow(2,30),2);
$dw="GB";
}else if($size > pow(2,20)){
$size=round($size/pow(2,20),2);
$dw="MB";
}else if($size > pow(2,10)){
$size=round($size/pow(2,10),2);
$dw="KB";
}else{
$dw="bytes";
}
return $size.$dw; }

      //计算目录的大小
function dirsize($dirname){ $dir=opendir($dirname); while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!="." && $filename!=".."){
if(is_dir($file)){
$this->dirsize($file);//递归完成
}else{
$dirsize+=filesize($file);
}
}
} closedir($dir);
return $dirsize;
}
}
?>
上一篇:【Java EE 学习 43】【SVN版本控制工具】【CVS版本控制工具】


下一篇:Android EditText控件即设置最小高度又运行高度随内容增加而变化