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 7.0
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 );
}