美文网首页
递归计算文件夹大小

递归计算文件夹大小

作者: 虾米娃娃 | 来源:发表于2018-06-20 16:50 被阅读0次
public function inspect($dirname){                                      
    $dh = opendir($dirname);                       //打开目录,返回一个目录流
    $size = 0;      //初始大小为0 
    while(false !== ($file = @readdir($dh))){     //循环读取目录下的文件
        if($file!='.' and $file!='..'){
            $path = $dirname.'\\'.$file;     //设置目录,用于含有子目录的情况
            if(is_dir($path)){
                $size += $this->inspect($path);  //递归调用,计算目录大小
            }elseif(is_file($path)){
                $size += filesize($path);   //计算文件大小
            }
        } 
    }   
    closedir($dh);             //关闭目录流
    return $size;               //返回大小
}

public function counts(){   
    $size=$this->inspect(dirname(__FILE__));
    $size=$size/1024/1024;
    echo $size.'MB';
}

相关文章

网友评论

      本文标题:递归计算文件夹大小

      本文链接:https://www.haomeiwen.com/subject/duuxyftx.html