首页 > 代码库 > 遍历目录,统计目录的大小

遍历目录,统计目录的大小

<?php
header("Content-type:text/html;charset=utf-8");
function  dirSize($directory){  //创建一个统计目录大小的函数
    $dir_size=0;//累计目录的大小
    if($dir_handle=opendir($directory)){  //打开目录。返回的是一个句柄
        while($result=readdir($dir_handle)){//遍历目录的所有文件,参数是句柄。返回的是当前位置的文件名
            if($result!="."&&$result!=".."){//排除两个特殊的目录
                $file=$directory."/".$result;//将子目录和当前的目录连接在一起
                if(is_dir($file))//判断是否为目录
                    $dir_size+=dirSize($file);//是目录的话就调用递归函数

                if(is_file($file))//判断是否为文件
                    $dir_size+=filesize($file);//累加文件的大小
            }
                    }
        closedir($dir_handle);//关闭句柄
        return $dir_size;//返回累加的结果
  }
}
$dir_size=dirSize(‘phpMyAdmin‘);
echo  round($dir_size/1024,2)."KB";

 

遍历目录,统计目录的大小