首页 > 开发 > PHP > 正文

获取文件夹大小(PHP函数)

2024-05-04 22:59:18
字体:
来源:转载
供稿:网友

<?php

    // 获取文件夹大小
    function getdirsize($dir)
    {
        $handle = opendir($dir);
        while (false!==($folderorfile = readdir($handle)))
        {
            if($folderorfile != "." && $folderorfile != "..")
            {
                if(is_dir("$dir/$folderorfile"))
                {
                    $sizeresult += getdirsize("$dir/$folderorfile");
                }
                else
                {
                    $sizeresult += filesize("$dir/$folderorfile");
                }
            }   
        }
        closedir($handle);
        return $sizeresult;
    }

    // 单位自动转换函数
    function getrealsize($size)
    {
        $kb = 1024;         // kilobyte
        $mb = 1024 * $kb;   // megabyte
        $gb = 1024 * $mb;   // gigabyte
        $tb = 1024 * $gb;   // terabyte
       
        if($size < $kb)
        {
            return $size." b";
        }
        else if($size < $mb)
        {
            return round($size/$kb,2)." kb";
        }
        else if($size < $gb)
        {
            return round($size/$mb,2)." mb";
        }
        else if($size < $tb)
        {
            return round($size/$gb,2)." gb";
        }
        else
        {
            return round($size/$tb,2)." tb";
        }
    }

    echo  getrealsize(getdirsize('需要获取大小的目录'));

?>



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表