Перевод байтов
Здравствуйте !
Есть размер файла в байтах (6883008), подскажите как правильно перевести байты в удобный для чтения формат ? Использовать что-то подобное этому ?
function conv_fsize($fsizeb) {
$fsizekb = round($fsizeb / 1024, 1); //переводим в кб
$fsizemb = round($fsizekb / 1024, 1); //переводим в мб
$fsizegb = round($fsizemb / 1024, 1); //переводим в гб
$fsizetb = round($fsizegb / 1024, 1); //переводим в тб
if ($fsizekb <= 1024) {
$fsize = $fsizekb . ' кб';
} else
if ($fsizekb >= 1024 and $fsizemb <= 1024) {
$fsize = $fsizemb . ' мб';
} else
if ($fsizemb >= 1024 and $fsizegb <= 1024) {
$fsize = $fsizegb . ' гб';
} else {
$fsize = $fsizetb . ' тб';
}
return $fsize;
}
|
alert(~~((6883008/1024)/1024) + ' МБ') |
monolithed,
Я сделал так:
function conv_size(b){
fsizekb = b / 1024;
fsizemb = fsizekb / 1024;
fsizegb = fsizemb / 1024;
fsizetb = fsizegb / 1024;
if (fsizekb <= 1024) {
fsize = fsizekb.toFixed(3) + ' кб';
} else if (fsizekb >= 1024 && fsizemb <= 1024) {
fsize = fsizemb.toFixed(3) + ' мб';
} else if (fsizemb >= 1024 && fsizegb <= 1024) {
fsize = fsizegb.toFixed(3) + ' гб';
} else {
fsize = fsizetb.toFixed(3) + ' тб';
}
return fsize;
}
Это правильно ? |
Я делаю так:
function formatSize(length){
var i = 0, type = ['б','Кб','Мб','Гб','Тб','Пб'];
while((length / 1000 | 0) && i < type.length - 1) {
length /= 1024;
i++;
}
return length.toFixed(2) + ' ' + type[i];
}
|
| Часовой пояс GMT +3, время: 09:43. |