본문 바로가기
개발/PHP

POST 로 파일 전송시 용량 초과 여부 캐치하기!

by 비손 2016. 6. 6.

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