将字节格式化为千字节、兆字节、千兆字节

发布于 2022-07-28 23:02:30

场景:各种文件的大小以字节为单位存储在数据库中。将此大小信息格式化为千字节、兆字节和千兆字节的最佳方法是什么?例如,我有一个 Ubuntu 显示为“5.2
MB(5445632 字节)”的 MP3。我如何在网页上将其显示为“5.2 MB”,并且将小于 1 MB 的文件显示为 KB,将 1 GB
及以上的文件显示为 GB?

关注者
0
被浏览
15
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。
    function formatBytes($bytes, $precision = 2) { 
        $units = array('B', 'KB', 'MB', 'GB', 'TB');
    
        $bytes = max($bytes, 0); 
        $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); 
        $pow = min($pow, count($units) - 1);
    
        // Uncomment one of the following alternatives
        // $bytes /= pow(1024, $pow);
        // $bytes /= (1 << (10 * $pow));
    
        return round($bytes, $precision) . ' ' . $units[$pow]; 
    }
    

    (取自php.net,那里还有很多其他示例,但我最喜欢这个
    :-)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看