wp_convert_hr_to_bytes() WP 2.3.0

Перетворює скорочене байтове значення цілечисленне байтове значення. Наприклад, рядок 1Mbбуде перетворено на число 1048576.

Схема роботи функції:

  • Передане значення пропускається через функції trim() та strtolower() .
  • Окремо значення “очищується” функцією intval() , відкидаючи літери.
  • Перевірка на входження таких символів, як g, mі kна основі яких відбувається множення.
  • Обробка отриманого значення функцією min() .

size_format() — схожа функція, яка навпаки, перетворює передане число (байти) на вид, що читається, наприклад, 9999перетворитися на 10 KB.

Хуків немає.

Повертає

int. Розмір у байтах.

Використання

wp_convert_hr_to_bytes ($ value);
$value
(рядок) (обов’язковий)
Значення байта (PHP ini), скорочене чи звичайне. Наприклад,
1Mbабо
20Kb.

Приклади

0

#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.0Moved from media.php до load.php.

Код wp_convert_hr_to_bytes() WP 6.0.2

function wp_convert_hr_to_bytes( $value ) {
	$ value = strtolower (trim ($ value));
	$bytes = (int) $value;

	if ( false !== strpos( $value, 'g' ) ) {
		$bytes *= GB_IN_BYTES;
	} elseif ( false !== strpos( $value, 'm' ) ) {
		$bytes *= MB_IN_BYTES;
	} elseif ( false !== strpos( $value, 'k' ) ) {
		$bytes *= KB_IN_BYTES;
	}

	// Deal with large (float) values ​​яких run в to maximum integer size.
	return min($bytes, PHP_INT_MAX);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *