function get_bytes($mem_limit) {
if(is_numeric($mem_limit)) {
return $mem_limit;
} else {
$numeric_value = substr($mem_limit, 0, strlen($mem_limit) - 1);
$unit_value = strtolower(substr($mem_limit, strlen($mem_limit) - 1));
switch($unit_value) {
case 'g':
return $numeric_value * 1024 * 1024 * 1024;
break;
default:
case 'm':
return $numeric_value * 1024 * 1024;
break;
case 'k':
return $numeric_value * 1024;
break;
}
}
}
Example usage:
print get_bytes(ini_get("memory_limit"));
Fixed in 5.1 (Builds 2010082201+)