ini_parse_quantity în PHP

Transformă o mărime scrisă ca în php.ini (de exemplu 128M sau 2G) în număr de octeți.

Sintaxă
ini_parse_quantity(string $shorthand): int

Ce face ini_parse_quantity

În php.ini, mărimile se scriu prescurtat: K (kilo), M (mega), G (giga), cu baza 1024. ini_parse_quantity face aceeași transformare ca PHP, deci poți compara ușor, de exemplu, limita de upload cu dimensiunea unui fișier.

Valorile cu zecimale (1.5M) nu sunt acceptate: primești un avertisment, iar zecimalele sunt ignorate.

Parametri

Parametru Descriere
$shorthand Mărimea, de exemplu "128M".

Ce returnează

Numărul de octeți.

Exemple

Exemplul 1: Mărimi uzuale

<?php
foreach (["512K", "128M", "2G", "1024"] as $marime) {
    echo $marime . " = " . ini_parse_quantity($marime) . " octeți\n";
}

Rezultat

512K = 524288 octeți
128M = 134217728 octeți
2G = 2147483648 octeți
1024 = 1024 octeți

Exemplul 2: Limita de upload, în MB

<?php
$limita = ini_parse_quantity("64M");
$fisier = 80 * 1024 * 1024;

if ($fisier > $limita) {
    echo "Fișierul depășește limita de " . ($limita / 1024 / 1024) . " MB";
}

Rezultat

Fișierul depășește limita de 64 MB

Greșeli frecvente

  • Transformi singur "128M" cu (int) și obții 128. Folosește ini_parse_quantity, care înțelege sufixele.

Comenzi înrudite