PHP计算一个目录文件大小方法

<?php 

$dirfile='../hnb';


/**
*计算一个目录文件大小方法
*$dirfile:传入文件目录名
**/
function dirSize($dirfile)
{
    $dir_size=0;
    if($handle=@opendir($dirfile))
    {
        while($filename=readdir($handle))
        {
            if($filename!='.' && $filename!='..')
            {
                $subfile=$dirfile . '/' . $filename;
                if(is_dir($subfile))
                {
                    $dir_size+=dirSize($subfile);  //递归再次调用
                }
                if(is_file($subfile))
                {
                    $dir_size+=filesize($subfile);
                }
            }
        }
        closedir($handle);
        return $dir_size;
    }

}


function dirSize2($dirfile)
{
    intval($dir_size=dirSize($dirfile));

    if($dir_size>1024*1024*1024)
    {
        echo round($dir_size/1024/1024/1024,2)."GB";
    }elseif($dir_size>1024)
    {
        echo round($dir_size/1024/1024,2)."MB";
    }else
    {
        echo round($dir_size/1024,2)."KB";
    }
}
echo dirSize2($dirfile);



 ?>

 

posted @ 2015-05-24 10:50  天涯alone  阅读(433)  评论(0编辑  收藏  举报