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)) 来克服此问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值