1 /** 2 * 把KB轉化為KB及以上單位 3 * @param int $kb 4 * @return string $new_val 5 */ 6 function return_over_kb($kb) 7 { 8 $kb /= 1024; 9 $unit = 0; // 0KB/MB 1GB 2TB 3PB 4EB 10 while ($kb >= 1024) { 11 $kb /= 1024; 12 $unit++; 13 } 14 switch ($unit) { 15 case 1: $b = 'GB'; break; 16 case 2: $b = 'TB'; break; 17 case 3: $b = 'PB'; break; 18 case 4: $b = 'EB'; break; 19 default: 20 if ($kb >= 1) { 21 $b = 'MB'; 22 } else { 23 $b = 'KB'; 24 } 25 break; 26 } 27 28 if ($unit == 0) { // 要麼是KB 要麼是MB 29 if ($kb < 1) { 30 $kb *= 1024; 31 } 32 } 33 34 return round($kb, 1) . $b; 35 }