Home >Backend Development >PHP Tutorial >PHP format (file) storage data size (SIZE) display, _PHP tutorial

PHP format (file) storage data size (SIZE) display, _PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:10:24825browse

PHP format (file) storage data size (SIZE) display,

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

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:

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

Call:

<span>echo</span> formatSize('20667564');

The result is:

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 = 1 Byte = 8 bit >1 TB = 1024 GB (TB - terabyte) 1 PB = 1024 TB (PB - petabyte) 1 EB = 1024 PB (EB - eksabyte) 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, megabyte, M. 10^3




http://www.bkjia.com/PHPjc/936474.html

www.bkjia.com

true

http: //www.bkjia.com/PHPjc/936474.htmlTechArticlePHP format (file) storage data size (SIZE) display, sometimes we need to display a certain The size of the file, or the size of other data. This number tends to span...
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