size_format()
Конвертирует байты в понятный для человека формат: 500 B, 63 KB, 9 MB, 2 GB, 1 TB.
Форматирует размер файла в понятный формат.
Все размеры файлов в PHP хранятся в байтах и получаются в них с помощью filesize() или как-то еще. Но гораздо удобнее читать 1 KB чем 1024 B.
Функция получает количество байтов и изменяет их на количество:
- килобайтов (KB)
- мегабайтов (MB)
- гигабайтов (GB)
- терабайтов (TB)
- петабайт (PB)
- экзабайт (EB)
- зеттабайт (ZB)
- йоттабайт (YB)
Также, нужно помнить, что максимальное число на 32-разрядных системах ограничено и равно 2147483647, тогда как на 64-разрядной системе оно равно 9223372036854775807. Поэтому, когда нужно указать число большее чем система может обработать, указывайте число в виде строки.
wp_convert_hr_to_bytes() — похожая функция, которая наоборот, преобразует сокращенное байтовое значение в целочисленное байтовое значение. Например, 1Mb
преобразован в 1048576
.
Используйте эту кастомную функцию, чтобы преобразовать большой число в читаемый вид 1500 >> 1,5 тыс.
.
Хуков нет.
Возвращает
Строку|false
. Строку или false, если не удалось сконвертировать.
Использование
size_format( $bytes, $decimals );
- $bytes(число/строка) (обязательный)
- Число байт, которые нужно сконвертировать. Имейте ввиду что в PHP есть максимальный допустимый размер для чисел и он мал в 32 разрядных системах.
- $decimals(число)
- Число цифр после запятой.
По умолчанию: 0
Примеры
#1 Демонстрация конвертации байтов
echo size_format( 99 ); //> 99 B echo size_format( 9999 ); //> 10 KB echo size_format( '9999' ); //> 10 KB echo size_format( 9999, 2 ); //> 9,76 KB echo size_format( 9999999 ); //> 10 MB echo size_format( 9999999999 ); //> 9 GB echo size_format( 9999999999999 ); //> 9 TB
Список изменений
С версии 2.3.0 | Введена. |
С версии 6.0.0 | Support for PB, EB, ZB, and YB was added. |