Вы можете авторизоваться через ВКонтакте, Фейсбук и оставить комментарий


Размер файла в мегабайтах — PHP

Функция filesize()

PHP возвращает размер файла в байтах функцией int filesize(string filename). Функций вывода привычного размера файла в привычном для нас виде (10.24МБ, 5.43КБ, 500Б, 1.02ГБ и т.д.) нет.

Функция filesize_format()

Вопрос решается написанием достаточно простой функции string filesize_format(int filesize).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/**
 * Размер файла в кило/мега/гига/тера/пета байтах
 * @param int $filesize — размер файла в байтах
 *
 * @return string — возвращаем размер файла в Б, КБ, МБ, ГБ или ТБ
 */
function filesize_format($filesize)
{
    
$formats = array('Б','КБ','МБ','ГБ','ТБ');// варианты размера файла
    
$format 0;// формат размера по-умолчанию
    
    // прогоняем цикл
    
while ($filesize 1024 && count($formats) != ++$format)
    {
        
$filesize round($filesize 10242);
    }
    
    
// если число большое, мы выходим из цикла с
    // форматом превышающим максимальное значение
    // поэтому нужно добавить последний возможный
    // размер файла в массив еще раз
    
$formats[] = 'ТБ';
    
    return 
$filesize.$formats[$format];
}

echo 
filesize_format(500).'<br>';
echo 
filesize_format(1500).'<br>';
echo 
filesize_format(1000500).'<br>';
echo 
filesize_format(100000500).'<br>';
echo 
filesize_format(100000000500).'<br>';
echo 
filesize_format(10000000000500).'<br>';
echo 
filesize_format(10000000000000500).'<br>';
?>

Результат

На экране вы увидите:

500Б
1.46КБ
977.05КБ
95.37МБ
93.13ГБ
9.09ТБ
9094.95ТБ

Опубликовано: 28 декабря 2010  ·  Автор: Артём Фёдоров  ·  4521 просмотр

Категория

ГлавнаяПрограммированиеPHPРазмер файла в мегабайтах — PHP

Чтобы оставить комментарий нужно авторизоваться на сайте
или войти через ВКонтакте или Фейсбук

Войти через ФейсбукВойти через Твиттер

Комментарии

PHP, Программирование

© 2010-2017 expange.ru
При полном или частичном копировании статей сайта, ссылка на источник обязательна.

Хотите узнать больше информации, пишите на: artem@expange.ru

Полезное онлайн  ·  Новости  ·  Изображения  ·  Статьи по датам

О проекте  ·  Правила пользования  ·  Представительства

Благодарности и пожелания