ProfiPHPProfiPHP
Категория: Полезное в PHP

Преобразование байтов в килобайты, мегабайты, гигабайты, терабайты

Очень часто необходимо преобразовать какую-то величину (размер файла, памяти) в человеческий вид. Значение 1 Гб намного красивее выглядит чем 1048576 Кб.

Для этих целей создадим функцию, которая будет осуществлять преобразования.

Для начала разберемся с байтами и десятичной приставкой:

- байт (B)

- килобайт (KB)

- мегабайт (MB)

- гигабайт (GB)

Функция:
function get_size( $bytes )
{
if ( $bytes < 1000 * 1024 ) {
return number_format( $bytes / 1024, 2 ) . " KB";
}
elseif ( $bytes < 1000 * 1048576 ) {
return number_format( $bytes / 1048576, 2 ) . " MB";
}
elseif ( $bytes < 1000 * 1073741824 ) {
return number_format( $bytes / 1073741824, 2 ) . " GB";
}
else {
return number_format( $bytes / 1099511627776, 2 ) . " TB";
}
}
Вызов функции:
echo get_size( 12345678 );
// 11.77 MB
echo get_size( 10251 );
// 10.01 KB
Реальный пример использования функции можно посмотреть на странице: Определение объема используемой памяти.

Добавить комментарий

Имя:
Текст комментария: