PHP实现格式化文件数据大小显示的方法

本文实例讲述了PHP实现格式化文件数据大小显示的方法。分享给大家供大家参考。具体分析如下:

有时候我们需要在网页上显示某个文件的大小,或者是其它数据的大小数字。

这个数字往往从跨度很大,如果以B为单位的话可能是个位,如果1G则长达1073741824的数字,这个时候我们就需要根据大小来格式化,比如小于1K则以B为单位显示,小于1M则以KB为单位显示,小于1G则以MB为单位显示,以此类推...

格式化函数参考如下:

代码如下:

//格式化size显示
function formatSize($b,$times=0){
    if($b>1024){
        $temp=$b/1024;
        return formatSize($temp,$times+1);
    }else{
        $unit='B';
        switch($times){
            case '0':$unit='B';break;
            case '1':$unit='KB';break;
            case '2':$unit='MB';break;
            case '3':$unit='GB';break;
            case '4':$unit='TB';break;
            case '5':$unit='PB';break;
            case '6':$unit='EB';break;
            case '7':$unit='ZB';break;
            default: $unit='单位未知';
        }
        return sprintf('%.2f',$b).$unit;
    }
}

调用:

代码如下:

echo formatSize('20667564');

结果是:

19.71MB

说明:

其中参数$b是以B为单位的数字,$times是用来标识这个函数递归了多少次的。

其中不常用的单位TB、PB、EB、ZB请参考下面的备注(来源于网络):

1bit(这个比特表示一个二进制数字)
1Byte(这个单词音译过来也叫“比特”但是表示一个十六进制的数字)
1B=1Byte=8bit
1 kB = 1024 B (kB - kilobyte) 千
1 MB = 1024 kB (MB - megabyte) 兆
1 GB = 1024 MB (GB - gigabyte) 吉
1 TB = 1024 GB (TB - terabyte) 太
1 PB = 1024 TB (PB - petabyte) 拍
1 EB = 1024 PB (EB - eksabyte) 艾
1 ZB = 1024 EB (ZB - zettabyte) 皆
1 YB = 1024 ZB (YB - yottabyte) 佑
1 BB = 1024 YB (BB - brontobyte)
yotta, 尧[它], Y. 10^21,
zetta, 泽[它], Z. 10^18,
exa, 艾[可萨], E. 10^15,
peta, 拍[它], P. 10^12,
tera, 太[拉], T. 10^9,
giga, 吉[咖], G. 10^6,
mega, 兆,M. 10^3

希望本文所述对大家的php程序设计有所帮助。

(0)

相关推荐

  • PHP中常用的字符串格式化函数总结

    字符串的格式化就是将字符串处理为某种特定的格式.通常用户从表单中提交给服务器的数据都是字符串的形式,为了达到期望的输出效果,就需要按照一定的格式处理这些字符串后再去使用.经常见到的字符串格式化函数如下图所示: 注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串. 一.取出空格和字符串填补函数 空格也是一个有效的字符,在字符串中也会占据一个位置.用户在表单输入数据时,经常在无意中会多输入一些无意义的空格.因此PHP脚本在接收到通过表单处理过来

  • PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法

    本文实例讲述了PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法.分享给大家供大家参考.具体分析如下: 语法如下: string gmdate (string $Format) string gmdate (string $Format, int $Time) 演示代码 <?php echo "When this page was loaded,\n"; echo 'It was then ', gmdate ('r'), "\n"; ec

  • php使用NumberFormatter格式化货币的方法

    本文实例讲述了php使用NumberFormatter格式化货币的方法.分享给大家供大家参考.具体实现方法如下: $amount = '12345.67'; $formatter = new NumberFormatter('en_GB', NumberFormatter::CURRENCY); echo 'UK: ' . $formatter->formatCurrency($amount, 'EUR') . PHP_EOL; $formatter = new NumberFormatter(

  • php使用wordwrap格式化文本段落的方法

    本文实例讲述了php使用wordwrap格式化文本段落的方法.分享给大家供大家参考.具体分析如下: wordwrap()函数可以按照指定的固定行长度格式化文本段落,让段落看起来更加整齐 <?php $string = "TRADING ON MARGIN POSES ADDITIONAL RISKS AND IS NOT SUITABLE FOR ALL INVESTORS. A COMPLETE LIST OF THE RISKS ASSOCIATED WITH MARGIN TRADI

  • php实现的返回数据格式化类实例

    本文实例讲述了php实现的返回数据格式化类及其用法,在字符串处理中非常具有实用价值.分享给大家供大家参考.具体方法如下: DataReturn.class.php类文件如下: <?php /** 返回数据格式化类 * Date: 2011-08-15 * Author: fdipzone */ class DataReturn{ // class start private $type; private $xmlroot; private $callback; private $returnDa

  • PHP日期函数date格式化UNIX时间的方法

    本文实例讲述了PHP日期函数date格式化UNIX时间的方法.分享给大家供大家参考.具体分析如下: 日期函数可以根据指定的格式将一个unix时间格式化成想要的文本输出 使用到函数语法如下 string date (string $Format); string date (string $Format, int $Time); 下面是演示代码 <?php echo "When this page was loaded,\n"; echo 'It was then ', date

  • php格式化日期实例分析

    本文实例讲述了php格式化日期的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: function ShowDate($flag=0, $timestr=NULL)  {      // 获取周几      $warr = array(      "0" => 星期日,      "1" => 星期一,      "2" => 星期二,      "3" => 星期三,     

  • php格式化金额函数分享

    最近的项目在处理资金这一块的功能,对人民币金额的格式化输出是必不可少的功能.这个功能比较独立而且还比较大众化,所以封装成了函数就发上去也算是方便大家. 复制代码 代码如下: /**  * 格式化金额  *  * @param int $money  * @param int $len  * @param string $sign  * @return string  */ function format_money($money, $len=2, $sign='¥'){     $negativ

  • PHP实现格式化文件数据大小显示的方法

    本文实例讲述了PHP实现格式化文件数据大小显示的方法.分享给大家供大家参考.具体分析如下: 有时候我们需要在网页上显示某个文件的大小,或者是其它数据的大小数字. 这个数字往往从跨度很大,如果以B为单位的话可能是个位,如果1G则长达1073741824的数字,这个时候我们就需要根据大小来格式化,比如小于1K则以B为单位显示,小于1M则以KB为单位显示,小于1G则以MB为单位显示,以此类推... 格式化函数参考如下: 复制代码 代码如下: //格式化size显示 function formatSiz

  • PHP读取并输出XML文件数据的简单实现方法

    本文实例讲述了PHP读取并输出XML文件数据的简单实现方法.分享给大家供大家参考,具体如下: config.XML文件: <?xml version="1.0" encoding="UTF-8"?> <node> <student> <name>张明</name> <email>1234567890@qq.com</email> <username>一样菜</use

  • android从资源文件中读取文件流并显示的方法

    本文实例讲述了android从资源文件中读取文件流并显示的方法.分享给大家供大家参考.具体如下: 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private void doRaw(){ InputStream is = this.getResources().openRawResource(R.raw.ziliao); try{ doRead(is); }catch(IOException e){ e.printStackTrace(

  • spring Boot查询数据分页显示的方法实例

    springBoot所有依赖和配置文件都写好的情况下 1.dao接口的实现方法 package com.cy.pj.sys.dao; import java.util.List; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.cy.pj.sys.pojo.SysLog; @Mapper public interface SysLogDao {

  • Android采集传感器数据并显示的方法

    本文实例为大家分享了Android采集传感器数据并显示的具体代码,供大家参考,具体内容如下 需要的知识 Android 项目主配置文件 AndroidManifest.xml Android Activity 概念 Android Sensor 接口 Android UI 布局管理器.文本框组件.编辑框组件 代码及解释 1.布局文件,用于控制UI界面显示,这里使用了表格布局管理器和四个行,每一行之中有四列,其中外面的两列是为了让中间两列居中,而中间两列分别是一个显示数据来源的TextView文本

  • JQuery读取XML文件数据并显示的实现代码

    准备工作 在开始之前我们需要做如下准备工作: 1.创建一个名为DEMO.html空白html文件:(推荐使用Editplus创建) 2.熟悉JQuery框架的基本语法:(不熟悉没关系,后面我会注释得很详细) 3.创建一个名为data.xml的XML文件用来存储数据,XML的结构下面会涉及到,你也可以下载我打包好的文件查看: 4.一个loading.gif图片,这个图片用于在将XML读取出来的等待时间里面显示在空白html文档中 正式开始 Step 1:首先让我们看看这个data.xml的简单结构

  • iOS利用NSAttributeString实现不同颜色大小显示的方法

    前言 最近开发需求遇到一个比较简单但又棘手的问题.先看需求 一个UILabel显示不同大小颜色的字符串,当然我们首先的想到属性字符串,但是注意: 我们这里要处理国际化完成的字符串也就是说: 必须在国际化完成以后才能追加我们的逻辑,而不是一上来就加属性字符串 比如: 2分14秒 or 2min14secs 也就是给我们的是一个 "2分14秒"字符串 我们需要匹配range来修改或者替换. 带着这个疑问开始今天的文章? 实现思路 孔圣贤有云:"举一隅不以三隅反,则不复也.&quo

  • 新版php study根目录下文件夹无法显示的图文解决方法

     Options Indexes FollowSymLinks ExecCGI          1  添加Indexes 2  删除掉index.html    希望可以帮到大家.      到此这篇关于新版php study根目录下文件夹无法显示解决方法的文章就介绍到这了,更多相关php study根目录文件夹无法显示内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • python读取查看npz/npy文件数据以及数据完全显示方法实例

    目录 python读取npz/npy文件 python查看npz/npy文件 附:python-读取和保存npy文件示例代码 总结 python读取npz/npy文件 npz和npy文件都可以直接使用numpy读写. import numpy as np ac = np.load('mydata.npz') ac.files python查看npz/npy文件 要查看其中某一项的数据: M = ac['M'] M 显示的值带省略号,要完全显示,执行: np.set_printoptions(th

  • JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)

    本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法.分享给大家供大家参考,具体如下: 先看xml文件: <?xml version="1.0" standalone="yes"?> <student> <stuinfo> <stuName>张秋丽</stuName> <stuSex>女 </stuSex> <stuAge>18</stuAge>

随机推荐