一个 PHP 优雅的字节单位换算函数

发布于 2018-07-18 23:06:56 字数 702 浏览 3542 评论 0

话说对于字节单位换算函数,如果随便找一个程序员学,那也写的出来,但是代码量却比较大,今天无意间发现的一个 PHP 字节单位换算函数,简直太完美了,就用了寥寥几行代码就实现了功能,真心佩服这个程序员。

PHP 字 节单位转换我觉得属于基础自定义函数,高效简单的 PHP 代码是我所追求的,虽然我只是一个菜鸟。在实际项目中,我们真的遇到了将字节大小或文件尺寸转换成 B/KB/MB/GB/TB等等带单位字符表示的大小,而且有时还要精确 2 位小数。还有的情况是我们需要将带单位的字符型的大小转换成字节数。

将字节转换成KB/MB/GB等方法如下

/* 原理是利用对数求出欲转换的字节数是 1024 的几次方
 * 其实就是利用对数的特性确定单位
 */
function size2mb($size,$digits=2){ //digits,要保留几位小数
    $unit = array('','K','M','G','T','P'); //单位数组,是必须1024进制
    $base = 1024; //对数的基数
    $i   = floor(log($size,$base)); //字节数对1024取对数,值向下取整
    return round($size/pow($base,$i),$digits).' '.$unit[$i] . 'B';
}

虽然我还不太看得懂上面的代码,不过慢慢消化,发布于此。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文