Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Преобразование
Сообщения
Borisov

Доброго времени суток! Подскажите , пожалуйста код. Размер файла хранится в (кb) , в таблице file поле size . Нужно перед выводом информации на страницу, перевести размер файла из КБ в МБ .

03 Окт 2012, 21:30
DenSBK

echo round($file['size']/1024/1024, 2).'Мб';

03 Окт 2012, 21:40
Borisov

DenSBK, Например нужно так : до 1024 кb , показывать в кb. Если более 1024 кb, то в mb.

03 Окт 2012, 21:43
DenSBK

Borisov, Вот тебе пример вырваный из сеа его и колупай.
[php:1:6804475054]//Красивый размер
if ($file_info['size'] < 1024) {
$file_info['size'] = '' . $file_info['size'] . 'b)';
} else if ($file_info['size'] < 1048576 && $file_info['size'] >= 1024) {
$file_info['size'] = '' . round($file_info['size'] / 1024, 2) . 'Kb)';
} else {
$file_info['size'] = '' . round($file_info['size'] / 1048576, 2) . 'Mb)';
}[/php:1:6804475054]

03 Окт 2012, 21:51
Romb

[php:1:13b8abeb9f]function f_bafsize($size){
$iec = array('б', 'Кб', 'Мб', 'Гб', 'Тб', 'Пб', 'Эб');
$i = 0;
while (($size/1024)>1){
$size = $size/1024;
$i++;
}
$size = explode('.', $size);
$echo = $size[0].'.'.substr($size[1],0,2).' '.$iec[$i];
return $echo;
}[/php:1:13b8abeb9f]

04 Окт 2012, 8:23
Okula

Romb, что за велосипед под конец функции? Зачем explode?
[php:1:58fb6401e2]function f_bafsize($size){
$iec = array('б', 'Кб', 'Мб', 'Гб', 'Тб', 'Пб', 'Эб');
$i = 0;
while (($size/1024)>1){
$size = $size/1024;
$i++;
}
return round($size, 2).' '.$iec[$i];
}[/php:1:58fb6401e2]

04 Окт 2012, 11:54
Borisov

Спасибо тем, кто оставил тут пост с ответом  .

04 Окт 2012, 12:46
Romb

Okula пишет:
"Romb, что за велосипед под конец функции? Зачем explode?"
Наверное было лень подходящую функцию искать

04 Окт 2012, 19:39
Borisov

Okula, ваш код не работает. У меня же информация хранится в : $file_info['size'] . Как мне в вашу функцию это вставить?

04 Окт 2012, 20:57
Okula

Borisov, всё работает прекрассно:
[php:1:b4e3c5986c]echo f_bafsize($file_info['size']);[/php:1:b4e3c5986c]

04 Окт 2012, 21:13
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.