PHP 的字节格式化函数:byteFormat

分类:PHP相关 时间:2023-10-29 22:08 浏览:0 评论:0
0

一个简单的 PHP 函数,可以将字节(bytes)转换成想要的格式,可以使用以下的单位::

Byte (B)
Kilobyte (KB)
Megabyte (MB)
Gigabyte (GB)
Terabyte (TB)
Petabyte (PB)
Exabyte (EB)
Zettabyte (ZB)
Yottabyte (YB)

这个函数有三个参数:bytes(字节,必须的),单位(可选的),小数点位数(可选,默认 2 位)

PHP byteFormat function for formatting bytes


function byteFormat($bytes, $unit = "", $decimals = 2) {
 $units = array('B' => 0, 'KB' => 1, 'MB' => 2, 'GB' => 3, 'TB' => 4, 'PB' => 5, 'EB' => 6, 'ZB' => 7, 'YB' => 8);

 $value = 0;
 if ($bytes > 0) {
  // Generate automatic prefix by bytes 
  // If wrong prefix given
  if (!array_key_exists($unit, $units)) {
   $pow = floor(log($bytes)/log(1024));
   $unit = array_search($pow, $units);
  }

  // Calculate byte value by prefix
  $value = ($bytes/pow(1024,floor($units[$unit])));
 }

 // If decimals is not numeric or decimals is less than 0 
 // then set default value
 if (!is_numeric($decimals) || $decimals 

byteFormat 例子:


echo byteFormat(4096, "B") ."\n";
echo byteFormat(8, "B", 2) . "\n";
echo byteFormat(1, "KB", 5) . "\n";
echo byteFormat(1073741824, "B", 0) . "\n";
echo byteFormat(1073741824, "KB", 0) . "\n";
echo byteFormat(1073741824, "MB") . "\n";
echo byteFormat(1073741824) . "\n";
echo byteFormat(1073741824, "TB", 10) . "\n";
echo byteFormat(1099511627776, "PB", 6) . "\n";

输出结果:

4096.00 B
8.00 B
0.00098 KB
1073741824 B
1048576 KB
1024.00 MB
1.00 GB
0.0009765625 TB
0.000977 PB

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. PHP相关 > PHP 的字节格式化函数:byteFormat

用户评论