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;
  }

?>

转载于:https://www.cnblogs.com/yiluxiuxing/p/4068378.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值