Читабельный размер файла в php

Простая функция, чтобы получить читабельный размер файла в PHP.

function format_filesize($bytes, $decimals = 2)
{
    $size   = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
    $factor = (int) floor((strlen($bytes) - 1) / 3);

    return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . ' ' . @$size[$factor];
}

Пример использования.

echo format_filesize(filesize('some-file.zip'));
// например, 223894 превратится в 218.65 KB