Retrieving the data size in bytes of a PHP ini configuration value
Published on 2024-08-18 • Modified on 2024-08-18
This snippet shows how to retrieve the data size in bytes of a PHP ini configuration value. We can use the ini_parse_quantity
function introduced in PHP 8.2. It can accept various arguments; here are the examples extracted form the official PHP documentation:
<?php
declare(strict_types=1);
namespace App\Controller\Snippet;
/**
* I am using a PHP trait to isolate each snippet in a file.
* This code should be called from a Symfony controller extending AbstractController (as of Symfony 4.2)
* or Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Services are injected in the main controller constructor.
*/
trait Snippet314Trait
{
public function snippet314(): void
{
echo '1024: ', ini_parse_quantity('1024'),PHP_EOL;
echo '1024M: ', ini_parse_quantity('1024M') ,PHP_EOL;
echo '512K: ', ini_parse_quantity('512K') ,PHP_EOL;
echo '0xFFk: ', ini_parse_quantity('0xFFk') ,PHP_EOL;
echo '0b1010k: ', ini_parse_quantity('0b1010k') ,PHP_EOL;
echo '0o1024: ', ini_parse_quantity('0o1024') ,PHP_EOL;
echo '01024: ', ini_parse_quantity('01024') ,PHP_EOL;
// echo ini_parse_quantity('Foobar'); // Warning: Invalid quantity "Foobar": no valid leading digits, interpreting as "0" for backwards compatibility
// echo ini_parse_quantity('10F'); // Warning: Invalid quantity "10F": unknown multiplier "F", interpreting as "10" for backwards compatibility
// That's it! 😁
}
}
Run this snippet More on Stackoverflow Read the doc More on the web Random snippet