php获取文件文档大小函数

  • 由于php获取文档大小的函数:filesize()返回文件大小的字节数,且不带单位,如果是较大的文档,只凭那一串数字并不能看出文档的实际大小,下面这个函数则是根据不同单位(KB,MB,GB,TB)进行换算。
    如果出错返回 
FALSE
function getFileSize($size){        //自行设计的得到文件大小的函数,单位为byte
        $dw="Byte";
 
        if($size >= pow(2, 40)){
            $size=round($size/pow(2, 40), 3);
            $dw="TB";
        }else if($size >= pow(2, 30)){
            $size=round($size/pow(2, 30), 3);
            $dw="GB";
        }else if($size >= pow(2, 20)){
            $size=round($size/pow(2, 20), 3);
            $dw="MB";
        }else if($size >= pow(2, 10)){
            $size=round($size/pow(2, 10), 3);
            $dw="KB";
        }else {
            $dw="Bytes";
        }
        return $size.$dw;
 
}


使用:
  1.     if(is_file($fileName)){
  2.         echo "{$fileName}是一个文件<br>";
  3.         echo "文件的大小为:".getFileSize(filesize($fileName))."<br>";
  4.     }

注: 因为 PHP 的整数类型是有符号的,并且大多数平台使用 32 位整数, filesize() 函数在碰到大于 2GB 的文件时可能会返回非预期的结果。对于 2GB 到 4GB 之间的文件通常可以使用  sprintf("%u", filesize($file)) 来克服此问题。

猜你喜欢

转载自blog.csdn.net/cangxie8/article/details/20453523
今日推荐