นั่นเป็นวิธีง่ายๆในการแก้ไขปัญหานี้:
เพียงเรียก "checkPostSizeExceeded" เมื่อเริ่มต้นรหัสของคุณ
function checkPostSizeExceeded() {
if (isset($_SERVER['REQUEST_METHOD']) and $_SERVER['REQUEST_METHOD'] == 'POST' and
isset($_SERVER['CONTENT_LENGTH']) and empty($_POST)
) {
$max = get_ini_bytes('post_max_size');
$send = $_SERVER['CONTENT_LENGTH'];
if($max < $_SERVER['CONTENT_LENGTH'])
throw new Exception(
'Max size exceeded! Were sent ' .
number_format($send/(1024*1024), 2) . 'MB, but ' . number_format($max/(1024*1024), 2) . 'MB is the application limit.'
);
}
}
อย่าลืมคัดลอกฟังก์ชันเสริมนี้:
function get_ini_bytes($attr){
$attr_value = trim(ini_get($attr));
if ($attr_value != '') {
$type_byte = strtolower(
$attr_value{strlen($attr_value) - 1}
);
} else
return $attr_value;
switch ($type_byte) {
case 'g': $attr_value *= 1024*1024*1024; break;
case 'm': $attr_value *= 1024*1024; break;
case 'k': $attr_value *= 1024; break;
}
return $attr_value;
}