Gibt es einen einfachen Weg in PHP, von Saiten wie '256m', '180k', '4G' in ihre Ganzzahläquivalente zu konvertieren?Php

PHP-Programmierer chatten hier
Anonymous
 Gibt es einen einfachen Weg in PHP, von Saiten wie '256m', '180k', '4G' in ihre Ganzzahläquivalente zu konvertieren?

Post by Anonymous »

Ich muss den von ini_get zurückgegebenen Wert testen ('meada_limit') und das Speichergrenze erhöhen, wenn er unter einem bestimmten Schwellenwert liegt, aber dieser Ini_get ('meden_limit') Anruf gibt String -Werte wie '128M' eher. Konto) Wie ich sie mehrfach geschrieben habe: < /p>

function int_from_bytestring ($byteString) {
preg_match('/^\s*([0-9.]+)\s*([KMGTPE])B?\s*$/i', $byteString, $matches);
$num = (float)$matches[1];
switch (strtoupper($matches[2])) {
case 'E':
$num = $num * 1024;
case 'P':
$num = $num * 1024;
case 'T':
$num = $num * 1024;
case 'G':
$num = $num * 1024;
case 'M':
$num = $num * 1024;
case 'K':
$num = $num * 1024;
}

return intval($num);
}
< /code>

Dies wird jedoch mühsam und dies scheint eines dieser zufälligen Dinge zu sein, die bereits in PHP existieren würden, obwohl ich es nie gefunden habe. Kennt jemand eine eingebaute Möglichkeit, diese Byte-A-A-A-A-Saiten zu analysieren?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post