функция since 2.3.0

size_format()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

size_format( int|string $bytes, int $decimals ): string|false

Описание

Прочитать 1 KB проще, чем 1024 байта, и 1 MB проще, чем 1048576 байт. Преобразует количество байт в удобное для восприятия число, определяя, сколько раз соответствующая единица помещается в это количество байт. Поддерживает значение YB.
Обратите внимание, что целые числа в PHP ограничены 32 битами, если только используется не 64-битная архитектура — тогда их размер составляет 64 бита. Если нужно указать значение больше, чем вмещает целочисленный тип PHP, используйте строку. Она будет преобразована в число с плавающей точкой двойной точности, которое всегда имеет длину 64 бита.
Формально правильные названия единиц для степеней 1024 — это KiB, MiB и т. д.

Оригинал (английский)

It is easier to read 1 KB than 1024 bytes and 1 MB than 1048576 bytes. Converts number of bytes to human readable number by taking the number of that unit that the bytes will go into it. Supports YB value.

Please note that integers in PHP are limited to 32 bits, unless they are on 64 bit architecture, then they have 64 bit size. If you need to place the larger size then what PHP integer type will hold, then use a string. It will be converted to a double, which should always have 64 bit length.

Technically the correct unit names for powers of 1024 are KiB, MiB etc.

Параметры

$bytes int|string обязательный
Количество байт. Учитывайте максимальный размер целочисленного типа.
$decimals int необязательный
Точность — количество знаков после запятой. Значение по умолчанию 0.

Возвращаемое значение

string|false

Исходный код

wp-includes/functions.php:467

function size_format( $bytes, $decimals = 0 ) {
	$quant = array(
		/* translators: Unit symbol for yottabyte. */
		_x( 'YB', 'unit symbol' ) => YB_IN_BYTES,
		/* translators: Unit symbol for zettabyte. */
		_x( 'ZB', 'unit symbol' ) => ZB_IN_BYTES,
		/* translators: Unit symbol for exabyte. */
		_x( 'EB', 'unit symbol' ) => EB_IN_BYTES,
		/* translators: Unit symbol for petabyte. */
		_x( 'PB', 'unit symbol' ) => PB_IN_BYTES,
		/* translators: Unit symbol for terabyte. */
		_x( 'TB', 'unit symbol' ) => TB_IN_BYTES,
		/* translators: Unit symbol for gigabyte. */
		_x( 'GB', 'unit symbol' ) => GB_IN_BYTES,
		/* translators: Unit symbol for megabyte. */
		_x( 'MB', 'unit symbol' ) => MB_IN_BYTES,
		/* translators: Unit symbol for kilobyte. */
		_x( 'KB', 'unit symbol' ) => KB_IN_BYTES,
		/* translators: Unit symbol for byte. */
		_x( 'B', 'unit symbol' )  => 1,
	);

	if ( 0 === $bytes ) {
		/* translators: Unit symbol for byte. */
		return number_format_i18n( 0, $decimals ) . ' ' . _x( 'B', 'unit symbol' );
	}

	foreach ( $quant as $unit => $mag ) {
		if ( (float) $bytes >= $mag ) {
			return number_format_i18n( $bytes / $mag, $decimals ) . ' ' . $unit;
		}
	}

	return false;
}

История изменений

ВерсияОписание
6.0.0 Support for PB, EB, ZB, and YB was added.
2.3.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.