php获取文件的大小, 并且转换成便于阅读的KB、MB、GB等格式

 PHP基础  2019-12-13  admin  244  329

获取文件的大小, 并且转换成便于阅读的KB、MB、GB等格式

/**
 * 获取文件的大小, 并且转换成便于阅读的KB、MB、GB等格式
 * @param $size
 * @param int $precision 小数点位数
 * @return string
 */
function formatSize($size, $precision = 2)
{
    $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
    if ($size == 0) {
        return ('n/a');
    } else {
        return (round($size / pow(1024, ($i = floor(log($size, 1024)))), $precision) . $sizes[$i]);
    }
}

使用:

echo formatSize(123, 3);//123 Bytes
echo formatSize(12345, 3);//12.056 KB
echo formatSize(123456789, 5);//117.73757 MB
echo formatSize(123456789012);//114.98 GB
echo formatSize(1234567890123);//1.12 TB


相关推荐


Laravel自定义表单验证规则,添加验证规则

Laravel 提供了许多有用的验证规则;同时也支持自定义规则。在服务容器中使用这个方法来注册自定义验证规则: Laravel 自定义规则实现手机号、身份证号、密码强度的验证

Linux查看杀死被占用的端口

Linux查看并杀死被占用的端口sudo apt-get install lsof   //安装lsof,一般默认安装了sudo lsof -i:端口号      //查找对应的进程号sudo kill -9 进程号      //杀死对应的进程 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof

php中奖概率算法,刮刮卡,大转盘等抽奖算法

php中奖概率算法,刮刮卡,大转盘等抽奖算法/** *经典的概率算法, *$arrPrize是一个预先设置的奖品数组, *假设数组为:array(100,200,300,400), *开始是从1,1000这个概率范围内筛选第一个数是否在出现概率范围之内, *如果不在,则将概率空间的值减去刚刚的那个数字的概率空间, *在本例当中就是减去100,也就是说第二个数是在1,900这个范围内筛选

php根据总金额生成指定个数的随机红包,红包算法

php根据总金额生成指定个数的随机红包,红包算法/** *根据总金额生成指定个数的随机红包 *1、微信红包,每人最少分得1分钱 *2、每人分得到的金额是随机分配的 *3、每次生成红包就生成了对应领取红包的结果 *生成随机红包 *ClassredPacket */ classredPacket { //总金额 private$total=0; //红包数量 private$