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 ?>
  • 相关阅读:
    创建100个文件,并对每个文件赋值
    vsftpd服务程序的三种认证模式
    slf4j打印日志必须的三个依赖包
    MySql镜像安装
    java子类调用父类构造器函数
    shell脚本批量调用接口
    go语言生成可执行文件
    linux通过VMware和主机相连连接互联网
    yum源配置
    vmware上安装linux过程记录
  • 原文地址:https://www.cnblogs.com/yiluxiuxing/p/4069696.html
Copyright © 2011-2022 走看看