Home >Backend Development >PHP Tutorial >PHP method to display formatted file data size_PHP tutorial

PHP method to display formatted file data size_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:59:33821browse

How to display the data size of formatted files in PHP

This article mainly introduces the method of displaying the data size of formatted files in PHP, through a custom function to achieve the purpose of displaying the data size of formatted files. The precise formatting of size has certain reference value. Friends in need can refer to it

The example in this article describes the method of displaying the data size of formatted files in PHP. Share it with everyone for your reference. The specific analysis is as follows:

Sometimes we need to display the size of a file or the size of other data on the web page.

This number often spans a large range. If the unit is B, it may be a single digit. If it is 1G, it will be a number up to 1073741824. At this time, we need to format it according to the size. For example, if it is less than 1K, it will be displayed in B units. , if it is less than 1M, it will be displayed in KB, if it is less than 1G, it will be displayed in MB, and so on...

The formatting function reference is as follows:

The code is as follows:


//Format size display
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='Unknown unit';
}
return sprintf('%.2f',$b).$unit;
}
}

Call:

The code is as follows:

echo formatSize('20667564');
turn out:

19.71MB

Description:

The parameter $b is a number in B, and $times is used to identify how many times this function has been recursed.

For the uncommon units TB, PB, EB, and ZB, please refer to the notes below (sourced from the Internet):

1bit (this bit represents a binary number)
1Byte (this word is also called "bit" when transliterated but represents a hexadecimal number)
1B=1Byte=8bit
1 kB = 1024 B (kB - kilobyte) Thousand
1 MB = 1024 kB (MB - megabyte) megabyte
1 GB = 1024 MB (GB - gigabyte) 吉
1 TB = 1024 GB (TB - terabyte) too
1 PB = 1024 TB (PB - petabyte)
1 EB = 1024 PB (EB - eksabyte) Ai
1 ZB = 1024 EB (ZB - zettabyte) both
1 YB = 1024 ZB (YB - yottabyte) Yoo
1 BB = 1024 YB (BB - brontobyte)
yotta, Yao[it], Y. 10^21,
zetta, ze[it], Z. 10^18,
exa, Ai [Khazar], E. 10^15,
peta, shoot [it], P. 10^12,
tera, 太[拉], T. 10^9,
giga, 吉[卡], G. 10^6,
mega, trillion, M. 10^3

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/975887.htmlTechArticleHow to display the data size of formatted files in PHP. This article mainly introduces how to display the data size of formatted files in PHP. method, through a custom function to achieve file size...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn