2010-11-14 12 views

Antwort

19

Sie könnten die Verwendung return_bytes from the documentation:

function return_bytes($val) { 
    $val = trim($val); 
    $last = strtolower($val[strlen($val)-1]); 
    switch($last) { 
     // The 'G' modifier is available since PHP 5.1.0 
     case 'g': 
      $val *= (1024 * 1024 * 1024); //1073741824 
      break; 
     case 'm': 
      $val *= (1024 * 1024); //1048576 
      break; 
     case 'k': 
      $val *= 1024; 
      break; 
    } 

    return $val; 
} 

return_bytes(ini_get('post_max_size')); 
+0

huh .. Ich bekomme nur 'Call to undefined function return_bytes()' – Steven

+0

Ich benutze php v5.3 – Steven

+1

Er bezieht sich auf die Funktion, die im obigen Link angegeben ist. –

0

Für PHP 7 die Lösung zurück: 'Ein nicht gut numerischen Wert gebildet angetroffen'

Es verwendet werden könnten:

function return_bytes($val) 
{ 
    preg_match('/(?<value>\d+)(?<option>.?)/i', trim($string), $matches); 
    $inc = array(
     'g' => 1073741824, // (1024 * 1024 * 1024) 
     'm' => 1048576, // (1024 * 1024) 
     'k' => 1024 
    ); 

    $value = (int) $matches['value']; 
    $key = strtolower(trim($matches['option'])); 
    if (isset($inc[$key])) { 
     $value *= $inc[$key]; 
    } 

    return $value; 
} 

return_bytes(ini_get('post_max_size')); 
Verwandte Themen