Обычно размеры файлов хранятся в байтах. Для удобного отображения можно применять следующую функцию
function bytes2readable($v, $l = 0, $precision = 2) { $label = array(' Кб', ' Мб', ' Гб'); $val = $v / 1024; if (floor($val) >= 1024) { $l++; $val = bytes2readable(floor($val), &$l); } return round($val, $precision).$label[$l]; } bytes2readable(1000); // 0.98 Кб bytes2readable(10000); // 9.77 Кб bytes2readable(123456789); // 117.74 Мб
9.03.2008
Функция для удобного отображения размера файла работает некорректно .....
Правильно переводятся только килобайты ....
function bytes2words($size) {
for($i=0; $i<count($st=array('Кб','Мб','Гб')); $i++) {
if (($size/=1024)<1024) { $i++; break; }
}
return round($size,2).' '.$st[($i-1)];
}