第一种:
~~~
function formatSize($size) {
$sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
if ($size == 0) {
return('n/a');
} else {
return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]);
}
}
~~~
-----
第二种:
~~~
function format\_bytes($size, $delimiter \= '') {
$units \= array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
for ($i \= 0; $size \>= 1024 && $i < 5; $i++) $size /= 1024;
return round($size, 3) . $delimiter . $units\[$i\];
}
~~~
----
第三种:
~~~
function getFilesize($num){
$p = 0;
$format='bytes';
if($num>0 && $num<1024){
$p = 0;
return number_format($num).' '.$format;
}
if($num>=1024 && $num
$p = 1;
$format = 'KB';
}
if ($num>=pow(1024, 2) && $num
$p = 2;
$format = 'MB';
}
if ($num>=pow(1024, 3) && $num
$p = 3;
$format = 'GB';
}
if ($num>=pow(1024, 4) && $num
$p = 3;
$format = 'TB';
}
$num /= pow(1024, $p);
return number_format($num, 3).' '.$format;
}
~~~