php 统计目录大小,PHP 统计目录大小

例01:

function dirsize($dir){

$size=0;

//打开目录

$dd=opendir($dir); //--opendir("")打开一个目录,返回此目录的资源句柄

readdir($dd); //--通过读两次,来跳过特殊目录"."、".."

readdir($dd);

//遍历目录累加大小

while($f = readdir($dd)){ //--readdir(资源句柄)从目中读取一个目录或文件,并指针向下移动一位。

$file = $dir."/".$f; //--为文件名添加目录名

if(is_file($file)){

$size += filesize($file);

}

if(is_dir($file)){

$size +=dirSize($file); //--递归调用

}

}

//关闭目录

closedir($dd);//--closedir(资源句柄)关闭打开的目录

return $size;

}

echo dirsize(‘D:\wamp‘)/1024/1024;//为路径

例02:

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(‘D:\wamp\www\test\BYGD\class‘));//指定路径

// get byte

function dirsize($dir)

{

$handle=opendir($dir);

$size = 0;

while ( $file=readdir($handle) )

{

if ( ( $file == "." ) || ( $file == ".." ) ) continue;

if ( is_dir("$dir/$file") )

$size += dirsize("$dir/$file");

else

$size += filesize("$dir/$file");

}

closedir($handle);

return $size;

}

$big=dirsize(dirname($_SERVER[‘SCRIPT_FILENAME‘])."/");

echo ‘(‘.$big.‘ bytes)‘;

原文:http://blog.csdn.net/web361/article/details/18986333

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值