# size_format()

URL: https://chugunov.pro/api-wordpress/functions/size_format/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.3.0.

## Сигнатура

```php
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 и т. д.

## Параметры

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

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

`string|false`

## Исходный код

Файл: `wp-includes/functions.php:467`

```php
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.

## Связанные

Использует: [`_x`](https://chugunov.pro/api-wordpress/functions/_x/), [`number_format_i18n`](https://chugunov.pro/api-wordpress/functions/number_format_i18n/).
Используется в: `WP_Debug_Data::get_wp_server`, `WP_Debug_Data::get_wp_media`, `WP_Site_Health::get_test_autoloaded_options`, `WP_Site_Health::get_test_available_updates_disk_space`, `WP_Debug_Data::get_sizes`, [`upload_is_user_over_quota`](https://chugunov.pro/api-wordpress/functions/upload_is_user_over_quota/), [`display_space_usage`](https://chugunov.pro/api-wordpress/functions/display_space_usage/), [`wp_import_upload_form`](https://chugunov.pro/api-wordpress/functions/wp_import_upload_form/), [`multisite_over_quota_message`](https://chugunov.pro/api-wordpress/functions/multisite_over_quota_message/), [`attachment_submitbox_metadata`](https://chugunov.pro/api-wordpress/functions/attachment_submitbox_metadata/), [`media_upload_form`](https://chugunov.pro/api-wordpress/functions/media_upload_form/), [`wpmu_checkAvailableSpace`](https://chugunov.pro/api-wordpress/functions/wpmu_checkavailablespace/), [`wp_prepare_attachment_for_js`](https://chugunov.pro/api-wordpress/functions/wp_prepare_attachment_for_js/), `wp_xmlrpc_server::mw_newMediaObject`, [`wp_print_media_templates`](https://chugunov.pro/api-wordpress/functions/wp_print_media_templates/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/size_format/
