PHP 개발중 파일 첨부해서 POST 전송을 했더니 아무런 자료도 전송되지 않는 문제가 있습니다.
Error 메세지는 없는데 Warning 메세지를 확인해 보니 아래와 같은 메세지가 뜨네요.
Warning: POST Content-Length of 22365336 bytes exceeds the limit of 10485760 bytes in Unknown on line 0
위와 같은 메세지를 본다면, 업로드 제한 용량은 10메가인데, 22메가의 데이터가 들어왔다는 내용입니다.
전송 전에 체크해서 제한을 걸어주는 것도 중요하지만, 서버단에서 체크하는 방법도 필요할 것 같습니다.
그래서 stackoverflow 에서 검색해 보니 이런 방법으로 POST 전송 크기를 체크할 수 있네요.
if (isset($_SERVER['CONTENT_LENGTH']) && $_SERVER['CONTENT_LENGTH']>
(int)ini_get('post_max_size')*1024*1024) {
echo "ERROR";
exit;
}
출처: http://stackoverflow.com/questions/9315461/how-can-i-catch-this-error-post-content-length