php统计文件大小,以GB、MB、KB、B输出

yipeiwu_com7年前PHP代码库
使用filesize()函数命令实现文件大小的统计,要求:1,以GB、MB、KB、B中的一个输出;2.数量级必须大于1小于1024,并保留两位小数;
  开始动工:
复制代码 代码如下:

$len = filesize("1.rmvb");
$i=4;
while($i){
if(($out=$len/pow(1024,$i))>1.0||$i==1){
switch($i){
case 4: {printf("%.2f TB",$out);break;}
case 3: {printf("%.2f GB",$out);break;}
case 2: {printf("%.2f MB",$out);break;}
case 1: {printf("%.2f KB",$out);break;}
}
break;
}
$i--;
}

演示效果:
view sourceprint?1.85GB
2.70GB
  得意间,上PHP官网的PHP教程上看,结果找到了一个更简单更有效的方法(So Peifu)
  代码如下:
复制代码 代码如下:

function format_bytes($size) {
$units = array(' B', ' KB', ' MB', ' GB', ' TB');
for ($i = 0; $size >= 1024 && $i < 4; $i++) $size /= 1024;
return round($size, 2).$units[$i];
}

演示效果:
1.85GB
2.7GB
  当然还有更多的做法,但这种方法是应该是最简单的,最快的了吧,相信你也有别的方法,期待你的分享!

相关文章

对于PHP 5.4 你必须要知道的

PHP 5.4来了,这是自5.3后的又一次主版本升级。此次升级改动较为显著,删除了一些过气儿的函数,带来了高达20%的速度提升和更少的内存使用。 新特性与改动此次更新的关键新特性,包括:...

PHP 中的批处理的实现

如果 Web 应用程序中的一个特性需要超过 1 秒或 2 秒才能完成,那么应该怎么办?需要某种离线处理解决方案。学习几种对&n...

PHP实现的购物车类实例

本文实例讲述了PHP实现的购物车类。分享给大家供大家参考。具体分析如下: 该购物车类是基于CodeIgniter的购物车类仿写实现的。 购物车基本功能如下: 1) 将物品加入购物车 2...

php自动载入类用法实例分析

本文实例讲述了php自动载入类用法。分享给大家供大家参考,具体如下: <?php //function __autoload($class_name) { // re...

浅析十款PHP开发框架的对比

PHP开发框架近来在PHP社区中成为讨论的热点,几乎每天都在推出新的框架。面对市面上超过四十种的开发框架,你很难判断究竟哪一款最适合你,尤其是在这些框架所提供的功能不尽相同的时候。&nb...