zoukankan      html  css  js  c++  java
  • 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;
      }

    ?>

  • 相关阅读:
    VScode+phpStudy搭建php代码调试环境
    bluekeep漏洞(CVE-2019-0708)利用
    bugku论剑场web解题记录
    upload-labs通关集
    攻防世界web新手区
    Vulnhub-XXE靶机学习
    Volatility取证使用笔记
    攻防世界WEB新手练习
    攻防世界MISC新手练习
    攻防世界CRYPTO新手练习
  • 原文地址:https://www.cnblogs.com/yiluxiuxing/p/4068378.html
Copyright © 2011-2022 走看看