当前位置:首页 > PHP教程 > php文件操作 > 列表

PHP统计目录中文件以及目录中目录大小的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-05 10:34:02 浏览: 评论:0 

这篇文章主要介绍了PHP统计目录中文件以及目录中目录大小的方法,涉及PHP针对文件及目录的遍历,读取及运算的相关技巧,需要的朋友可以参考下,本文实例讲述了PHP统计目录中文件以及目录中目录大小的方法,分享给大家供大家参考,具体如下:

  1. <?php 
  2.  //循环遍历目录中所有的文件,并统计目录和文件的大小 
  3.  $dirName="phpMyAdmin"
  4.  $dir=opendir($dirName); //返回一个资源类型 
  5.  while($fileName=readdir($dir)){ 
  6.  $file=$dirName."/".$fileName
  7.  if($fileName!="." && $fileName!=".."){ 
  8.   if(is_dir($file)){ 
  9.   echo "<font color='red'>".$fileName."===".date("Y-m-d H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."</font><br/>"
  10.   } 
  11.   else
  12.   echo "<font color='green'>".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."</font><br/>"
  13.   } 
  14.  } 
  15.  } 
  16.  closedir($dir); 
  17.  //把文件或目录的大小转化为容易读的方式 
  18.  function toSize($size){ 
  19.  $dw//指定文件或目录统计的单位方式 
  20.  if($size>pow(2,30)){ 
  21.   $dw="GB"
  22.   $size=round($size/pow(2,30),2); 
  23.  } 
  24.  else if($size>pow(2,20)){ 
  25.   $dw="MB"
  26.   $size=round($size/pow(2,20),2); 
  27.  } 
  28.  else if($size>pow(2,10)){ 
  29.   $dw="KB"
  30.   $size=round($size/pow(2,10),2); 
  31.  } 
  32.  else 
  33.  { 
  34.   $dw="bytes"
  35.  } 
  36.  return $size.$dw
  37.  } 
  38.  //利用递归的方式统计目录的大小 
  39.  function dirSize($dirName){ 
  40.  $dirsize=0; 
  41.  $dir=opendir($dirName); 
  42.  while($fileName=readdir($dir)){ 
  43.   $file=$dirName."/".$fileName
  44.   if($fileName!="." && $fileName!=".."){ //一定要进行判断,否则会出现错误的 
  45.   if(is_dir($file)){ 
  46.    $dirsize+=dirSize($file); 
  47.   } 
  48.   else
  49.    $dirsize+=filesize($file); 
  50.   } 
  51.   } 
  52.  } 
  53.  closedir($dir); 
  54.  return $dirsize
  55.  } 
  56. ?>

Tags: PHP统计目录中文件

分享到: