wp_convert_hr_to_bytes()
Преобразует сокращенное байтовое значение в целочисленное байтовое значение. Например, строка 1Mb
будет преобразована в число 1048576
.
Схема работы функции:
- Переданное значение пропускается через функции trim() и strtolower().
- Отдельно значение "очищается" функцией intval(), отбрасывая литеры.
- Проверка на вхождение таких символов, как
g
,m
иk
, на основе которых происходит умножение. - Обработка полученного значение функцией min().
size_format() — похожая функция, которая наоборот, превращает переданное число (байты) в читаемый вид, например, 9999
превратиться в 10 KB
.
Основа для: wp_max_upload_size()
Хуков нет.
Возвращает
int
. Размер в байтах.
Использование
wp_convert_hr_to_bytes( $value );
- $value(строка) (обязательный)
- Значение байта (PHP ini), сокращенное или обычное. Например,
1Mb
или20Kb
.
Примеры
#1 Примеры работы функции
wp_convert_hr_to_bytes('1Mb') //> 1048576 wp_convert_hr_to_bytes('1mb') //> 1048576 wp_convert_hr_to_bytes('1mB') //> 1048576 wp_convert_hr_to_bytes('1 Mb') //> 1048576 wp_convert_hr_to_bytes('1,9 Mb') //> 1048576 wp_convert_hr_to_bytes('1.9 Mb') //> 1048576 wp_convert_hr_to_bytes('15 Mb') //> 15728640
Список изменений
С версии 2.3.0 | Введена. |
С версии 4.6.0 | Moved from media.php to load.php. |
Код wp_convert_hr_to_bytes() wp convert hr to bytes WP 6.7.1
function wp_convert_hr_to_bytes( $value ) { $value = strtolower( trim( $value ) ); $bytes = (int) $value; if ( str_contains( $value, 'g' ) ) { $bytes *= GB_IN_BYTES; } elseif ( str_contains( $value, 'm' ) ) { $bytes *= MB_IN_BYTES; } elseif ( str_contains( $value, 'k' ) ) { $bytes *= KB_IN_BYTES; } // Deal with large (float) values which run into the maximum integer size. return min( $bytes, PHP_INT_MAX ); }