http://search.csdn.net/Expert/topic/2383/2383886.xml?temp=.9958612
选遍历目录,得到每个文件的大小。
用filetype()来判断是文件(file)还是目录(dir)
用filesize()来得到文件大小。

解决方案 »

  1.   

    function dirsize($dir) { //列出所有文件名
    @$dh = opendir($dir);
    $size = 0;
    while ($file = @readdir($dh)) {
    if ($file != "." and $file != "..") {
    $path = $dir."/".$file;
    if (is_dir($path)) {
    $size += dirsize($path);
    } elseif (is_file($path)) {
    $size += filesize($path);
    }
    }
    }
    @closedir($dh);
    return $size;
    }//END tunction dirsizefunction sizecount($filesize) { //计算出所有文件大小
    if($filesize >= 1073741824) {
    $filesize = round($filesize / 1073741824 * 100) / 100 . ' G';
    } elseif($filesize >= 1048576) {
    $filesize = round($filesize / 1048576 * 100) / 100 . ' M';
    } elseif($filesize >= 1024) {
    $filesize = round($filesize / 1024 * 100) / 100 . ' K';
    } else {
    $filesize = $filesize . ' bytes';
    }
    return $filesize;
    要的时间调用:
    $attachsize = dirsize("../SaveHtm");
    $attachsize = $attachsize ? sizecount($attachsize) : "大小未知";
      

  2.   

    指定一个目录就可以了
    最后echo $attachsize得到的就是你指定目录下所有文件及子文件夹下的所有文件的总大小.
      

  3.   

    不好意思,函数function sizecount还没结束,我忘记后半边}了
    在  return $filesize;的后面要加上
    }//END tunction sizecount
    才正确.