• php文件遍历


      

    <?php


      $dirname="shangchuan/uploads"; 

      echo $dirname."共计大小为:".toSize(dirsize($dirname))."<br>";

      $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")."---".filectime($file)."---".filetype($file)."---".toSize(dirsize($file))."---</font><br>";
          }else{
            echo "<font color='blue'>".$fileName."---".date("Y-m-d H:i:s")."---". filectime($file)."---".filetype($file)."---".toSize(filesize($file))."---</font><br>";
          }
        }
      }


      closedir($dir);
      //转换字节为常用单位
      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){
        $dirsize=0;

        $dir=opendir($dirname);

        while($filename=readdir($dir)){
          $file=$dirname."/".$filename;
          if($filename!="." && $filename!=".."){
            if(is_dir($file)){
              dirsize($file);//递归完成
            }else{
              $dirsize+=filesize($file);
            }
          }
        }

        closedir($dir);
        return $dirsize;
      }

    ?>

  • 相关阅读:
    VS2012打包部署Winform程序
    WPF 触发器Triggers
    VS2010中的顺序图
    decimal,float和double的区别
    EXCEL基本知识
    java byte 循环左移 循环右移 rotateLeft rotateRight
    博客地址转移
    PHP学习思维导图
    一款web前端在线编辑器
    9patch android .9格式使用
  • 原文地址:https://www.cnblogs.com/yiluxiuxing/p/4068378.html
Copyright © 2020-2023  润新知