I ini_get('memory_limit')
tarafından döndürülen değeri sınamak ve belli bir eşiğin altında ise ancak bu ini_get('memory_limit')
çağırmak yerine tamsayılar daha ''128M gibi dize değerlerini verir, hafıza limitini artırmak gerekir.
Ben onları defalarca yazdım bu dizeleri (davayı alma ve hesaba 'B sondaki) ayrıştırmak için bir işlev yazabilirsiniz biliyorum:
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);
}
Ancak, bu sıkıcı alır ve bu onu bulamadılar ama, zaten PHP var olacaktır bu rasgele şeylerden biri gibi görünüyor. Herkes bu bayt miktarı dizeleri ayrıştırmak için bazı yerleşik bir yol biliyor mu?