很简单、很快速的格式化文件大小
今天在PHP官网(http://www.php.net)上面查询number_format函数的时候发现了一小段代码,虽然很短,但是我觉得很有用,最主要的是我受到了很多启发,下面把那段代码贴出来以便共享,:)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < ?php function format_filesize($number, $decimals = 3, $force_unit = false, $dec_char = ',', $thousands_char = ' ') { //string format_filesize(int(0,) $number, (bool(0), int(0,4)) $force_unit, int $decimals, char $dec_char, char $thousands_char) //format a filesize $number with unit (setted by $force_unit(see below for the number)) $units = array('B', 'KB', 'MB', 'GB', 'TB'); if($force_unit === false) $unit = floor(log($number, 2) / 10); else $unit = $force_unit; if($unit == 0) $decimals = 0; return number_format($number / pow(1024, $unit), $decimals, $dec_char, $thousands_char).' '.$units[$unit]; } ?> |
例子
format_filesize(2540367) => ’2,423 MB’
format_filesize(2540367, 2) => ’2,42 MB’
format_filesize(2540367, 1, 1) => ’2 480,8 KB’ //0=>’B', 1=>’KB’, 2=>’MB’, 3=>’GB’, 4=>’TB’ (see $units)
format_filesize(2540687367, 2, 1, ‘,’, ‘.’) => ’2.481.140,01 KB’
log($number, 2) / 10 = log($number, 1024) ![]()
很快、很简单不是吗?
发表评论
| Trackback
