zoukankan      html  css  js  c++  java
  • 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 ?>
  • 相关阅读:
    糖尿病周围神经病变有什么表现
    天空之城
    Software Quality Assurance Framework(2)
    组织行为学2
    Software Quality Assurance Framework(1)
    radiculously
    组织行为学1
    software Architecture(1)
    c++运算符重载
    get up~!
  • 原文地址:https://www.cnblogs.com/yiluxiuxing/p/4069696.html
Copyright © 2011-2022 走看看