根据文件大小自动判断单位B,KB,MB,GB

<php>         /**
 * 文件大小格式化
 * @param integer $size 初始文件大小,单位为byte
 * @return array 格式化后的文件大小和单位数组,单位为byte、KB、MB、GB、TB
 */
function file_size_format($size = 0, $dec = 2) {
    $unit = array("B", "KB", "MB", "GB", "TB", "PB");
    $pos = 0;
    while ($size >= 1024) {
        $size /= 1024;
        $pos++;
    }
    $result[‘size‘] = round($size, $dec);
    $result[‘unit‘] = $unit[$pos];
   return $result[‘size‘].$result[‘unit‘];
}
</php>

在Thinkphp3.2.3中的模板中调用时,需要把这个函数放在模板中,然后调用。

如:{$v.size|file_size_format}

时间: 2024-12-24 22:34:53

根据文件大小自动判断单位B,KB,MB,GB的相关文章

Byte/KB/MB/GB 等字节单位换算

字节单位换算公式: 1 GB = 1024 MB 1 MB = 1024 KB 1 KB = 1024 Bytes 1 Byte = 8 bits 将字节单位转化为目标单位 根据公式我写了一段C++代码,用于将输入的以字节为单位的数值,转换为目标单位数值.代码中的枚举类型用的是C++11的语法. enum class Unit{ Byte, KB, MB, GB, TB, PB, EB }; double convert(double size, Unit unit) { double resu

计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么?

关于计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么? 我们知道Kb是1000的1次方,所以 MB就是1000的2次方(106) GB就是1000的3次方(109) TB就是1000的4次方(1012) PB就是1000的5次方(1015) EB就是1000的6次方(1018) ZB就是1000的7次方(1021) YB就是1000的8次方(1024) 但是1000的9次方(1027)是什么呢? 对此我查阅了国外很多资料,他们有着很多不同的说法, 说法一:Brontobyt

KB/MB/GB。。单位换算

今天遇到一个需求,需要把数据单位进行换算,记录一下.写的不好请勿见怪. function bytesToSize( bytes ) {//单位转化         var k = 1024,              sizes = ['b','KB','MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];         if(bytes === 0){             return {   txt: 0,                 unit: si

计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

程序猿都非常懒.你懂的! java程序猿在实际的开发中会遇到非常多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下.一般要求b,kb,mb,gb,tb,pb之间的大小转换,我们都知道他们之间的换算是乘以1024或者除以1024.可是详细怎么用java代码来实现呢?请看以下的代码: package com.herman.utils; /*** * @see 存储大小(单位)转换器. * @author Herman.Xiong * @date 2014年5月27日 13:2

取文件的大小 (KB,MB,GB...)

2种方式: VB 和 C# 1,  VB Public Function GetFileSize(ByVal iFileSizeKB As Long) As String Dim iFileSizeMB As Integer Dim iFileSizeGB As Integer If (iFileSizeKB >= 1024) Then iFileSizeMB = iFileSizeKB / 1024 If (iFileSizeMB >= 1024) Then iFileSizeGB = iF

字节b换算kb/mb/gb/tb/pb

public static string HumanReadableFilesize(double size) { string[] units = new string[] { "B", "KB", "MB", "GB", "TB", "PB" }; double mod = 1024.0; int i = 0; while (size >= mod) { size /= mod

Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB

Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB 汉字字符 2字节英文字符 1字节中文标点 2字节英文标点 1字节一个字节就是一个八位二进制数啊,2就是00000010,4就是00000100,8就是00001000 把标点符号和字符修改成占2个字节的方法 在cms中,大家会发现发表文章的时候如果里面有标点符号,它只点一个字节,可是在网站的显示过程中它和汉字所占的位置长度是一样的,为了达到更好的效果.在这里告诉大家标点符号和字符修改成占2个字节的方法 '函数名:gotTopic

bit,byte,汉字,KB,MB,GB,TB...

bit-----位,比特位,这两种说法都可以.它是计算机中最小的存储数据单位,最小的. 比如:1111 1111     或者0000 0000每一个1或者每个0都是一个bit. byte --字节(用B表示),它是计算机存储容量的基本单位 1 byte = 8 bit ="a" 或者"b"     //反正就是26个字母中的一个字母. 2 byte = 1 个汉字=2 * 8=16 bit   (这句话也可以写成 2B=1个汉字=16 bit) KB 1 KB =

储存容量单位:Bit, Byte, KB, MB, GB, TB , PB, EB, ZB, YB

最近在看Hadoop权威指南这本书,其中设计了很多单位, 不过我以前的书本好像也只有教到 GB, 现在的教科书可能有教到 TB 或 PB 吧,但我不确定,不过在不久的将来可能又会有更大的单位有机会用到, 这几天正好玩了一个测验脑容量的无聊游戏,也藉此了解了更多储存容量的单位.  计算机的最小单位为 Bit (位), 以下是所有数量单位的说明与其英文全名:   1 Byte = 8 Bits  1 Kilobyte (KB) = 1024 Bytes   1 Megabyte (MB) = 102