PHP获取文件夹的大小

<?php
// 获取文件夹大小
function getDirSize($dir)
{ 
    $handle = opendir($dir);
    $sizeResult = 0;
    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('需要获取大小的目录'));
?>

  

转载于:https://www.cnblogs.com/bullz/archive/2011/11/15/2249670.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值