PHP形式(ファイル)の保存データサイズ(SIZE)表示
Webページ上のファイルのサイズやその他のデータのサイズを表示する必要がある場合があります。
この数値は、B の場合は 1 桁になる場合があり、1073741824 までの数値になります。このとき、フォーマットする必要があります。例えば、1K未満の場合はB単位で表示され、1M未満の場合はKB単位で表示され、1G未満の場合は単位で表示されます。 MB 単位など...
書式設定関数の参照は次のとおりです:
<span style="color: #008000;">//</span><span style="color: #008000;">格式化size显示</span><span style="color: #0000ff;">function</span> formatSize(<span style="color: #800080;">$b</span>,<span style="color: #800080;">$times</span>=0<span style="color: #000000;">){</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$b</span>>1024<span style="color: #000000;">){ </span><span style="color: #800080;">$temp</span>=<span style="color: #800080;">$b</span>/1024<span style="color: #000000;">; </span><span style="color: #0000ff;">return</span> formatSize(<span style="color: #800080;">$temp</span>,<span style="color: #800080;">$times</span>+1<span style="color: #000000;">); }</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{ </span><span style="color: #800080;">$unit</span>='B'<span style="color: #000000;">; </span><span style="color: #0000ff;">switch</span>(<span style="color: #800080;">$times</span><span style="color: #000000;">){ </span><span style="color: #0000ff;">case</span> '0':<span style="color: #800080;">$unit</span>='B';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '1':<span style="color: #800080;">$unit</span>='KB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '2':<span style="color: #800080;">$unit</span>='MB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '3':<span style="color: #800080;">$unit</span>='GB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '4':<span style="color: #800080;">$unit</span>='TB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '5':<span style="color: #800080;">$unit</span>='PB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '6':<span style="color: #800080;">$unit</span>='EB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">case</span> '7':<span style="color: #800080;">$unit</span>='ZB';<span style="color: #0000ff;">break</span><span style="color: #000000;">; </span><span style="color: #0000ff;">default</span>: <span style="color: #800080;">$unit</span>='单位未知'<span style="color: #000000;">; } </span><span style="color: #0000ff;">return</span> <span style="color: #008080;">sprintf</span>('%.2f',<span style="color: #800080;">$b</span>).<span style="color: #800080;">$unit</span><span style="color: #000000;">; }}</span>
呼び出し:
<span style="color: #0000ff;">echo</span> formatSize('20667564');
結果は次のとおりです:
19.71MB
説明:
パラメータ $b は B の数値であり、$回は、この関数が何回再帰されたかを識別するために使用されます。
一般的ではない単位 TB、PB、EB、ZB については、次の注記 (インターネットから引用) を参照してください:
1 ビット (このビットは 2 進数を表します)
1Byte (この単語は音訳すると「ビット」とも呼ばれますが、16 進数を表します)
1B=1Byte=8bit
1 kB = 1024 B (kB - キロバイト) ) 1 MB = 1024 kB (MB - メガバイト) 1 GB = 1024 MB (GB - ギガバイト) 1 TB = 1024 GB (TB - テラバイト) 1 PB = 1024 TB (PB - ペタバイト) 1 EB = 1024 PB (EB - エクサバイト) ) 1 ZB = 1024 EB (ZB - ゼタバイト) 1 YB = 1024 ZB (YB - ヨタバイト)
1 BB = 1024 YB (BB - ブロントバイト)
yotta, Yao[it], Y. 10^21,
zetta、Ze[it]、Z. 10^18、
exa、Ai [Khazar]、E. 10^15、
peta、シュート [it]、P. 10^12、
tera、Tai [Ra]、T. 10^9、
giga、Ji [Ca]、G. 10^6、
mega、M. 10^3