(PHP 8 >= 8.2.0)
ini_parse_quantity — Интерпретирует сокращение размера в значении ini-параметра
Функция интерпретирует и в случае успешного выполнения возвращает размер в байтах, который получила из сокращения значения ini-параметра.
shorthand
Сокращение значения ini-параметра для разбора. Параметр требует целое число,
за которым следует необязательный множитель.
Поддерживаются следующие множители: k
или K
— килобайт, 1024
байта;
m
или M
— мегабайт, 1 048 576
байтов;
g
или G
— гигабайт, 1 073 741 824
байта.
Параметр принимает десятичные, шестнадцатеричные с префиксом 0x
или 0X
,
восьмеричные с префиксом 0o
, 0O
или 0
и двоичные с префиксом 0b
или 0B
числа.
Функция возвращает размер в байтах в виде целого числа (int), который получила после интерпретации сокращения размера ini-значения.
Функция выдаёт ошибку уровня E_WARNING
,
если не смогла разобрать значение или встретила недопустимый множитель.
Пример #1 Пример использования функции ini_parse_quantity()
<?php
var_dump(ini_parse_quantity('1024'));
var_dump(ini_parse_quantity('1024M'));
var_dump(ini_parse_quantity('512K'));
var_dump(ini_parse_quantity('0xFFk'));
var_dump(ini_parse_quantity('0b1010k'));
var_dump(ini_parse_quantity('0o1024'));
var_dump(ini_parse_quantity('01024'));
var_dump(ini_parse_quantity('Foobar'));
var_dump(ini_parse_quantity('10F'));
?>
Вывод приведённого примера будет похож на:
int(1024) int(1073741824) int(524288) int(261120) int(10240) int(532) int(532) Warning: Invalid quantity "Foobar": no valid leading digits, interpreting as "0" for backwards compatibility int(0) Warning: Invalid quantity "10F": unknown multiplier "F", interpreting as "10" for backwards compatibility int(10)