WordPress Version: 6.3
/**
* Converts a shorthand byte value to an integer byte value.
*
* @since 2.3.0
* @since 4.6.0 Moved from media.php to load.php.
*
* @link https://www.php.net/manual/en/function.ini-get.php
* @link https://www.php.net/manual/en/faq.using.php#faq.using.shorthandbytes
*
* @param string $value A (PHP ini) byte value, either shorthand or ordinary.
* @return int An integer byte value.
*/
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);
}