麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
关于php中统计文件夹的大小【linux系统】
悬赏分:20 - 2007年08月15日

本人最近写了个统计文件夹的大小的程序,使用了递归,可是统计出错,不能实现我想要的目的,程序如下,希望各位高手指点一二。[PHP]
//计算目录的文件大小
function endslash($str)
{
return rtrim($str, '/') . '/';
}

function dir_stats($dir)
{
$size = 0;
$dirs = 0;
$files = 0;

$dir = endslash($dir);

$h = @opendir($dir);
if(!$h)
{
return array('size' => $size, 'dirs' => $dirs, 'files' => $files);
}
while( false != ($f = @readdir($h)))
{
if($f != '.' && $f != '..')
{
if(is_dir($dir.$f))
{
$dirs++;
$dirs_in = dir_stats( $dir . $f );
$dirs += $dirs_in['dirs'];
}
else
{
$size += filesize($dir.$f);
$files++;

if(isset($dirs_in))
{
$size += $dirs_in['size'];
$files += $dirs_in['files'];
}
}
}
}
return array('size' => $size, 'dirs' => $dirs, 'files' => $files);
}[/PHP]
为什么返回的结果不对呢???纳闷中……

提问者:netease   08-15 08:08
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
82 + 12 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM