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
Release: 2016-07-13 10:10:21
Original
854 people have browsed it

How to display formatted file data size in PHP,

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 lot. If it is in 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. , 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:

Copy code 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:

Copy code The code is as follows:
echo formatSize('20667564');

The result is:

19.71MB

Instructions:

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) Yo
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/936802.htmlTechArticleHow to display the data size of formatted files in PHP. This article describes how to display the data size of formatted files in PHP. method. Share it with everyone for your reference. The specific analysis is as follows:...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template