2014-05-15 3 views
11

PDF 업로드를 시도 할 때 생성 된 관리 영역을 통해 15MB의 파일을 업로드하려고하면 아무 일도 일어나지 않습니다. 성공 또는 오류 메시지가 나타나지 않지만 PDF은 업로드되지 않았습니다.PHP post_max_size 대 upload_max_filesize의 차이점은 무엇입니까?

그런 다음 php.ini 설정에서 문제가 될 수 있다고 생각했습니다. 물론 파일을 살펴보면 한계가 8m로 설정되어있는 것으로 나타났습니다. 나는 8 메가 바이트라고 가정하고있다.

post_max_size을 :http://php.net/post-max-size

; Maximum size of POST data that PHP will accept. 
; Its value may be 0 to disable the limit. It is ignored if POST data reading 
; is disabled through enable_post_data_reading. 
post_max_size = 20M 

이 upload_max_filesize :

; Maximum allowed size for uploaded files. upload_max_filesize = 20M 

http://php.net/upload-max-filesize

는 의견을 보면,이 파일이 업로드되는 대한 다른 POST에 직접 관련이있는 동안 하나가 않은 것 같습니다 데이터. 이 시나리오는 혼동 스럽습니다 : POST 이미지를 다른 페이지로 보내고있는 양식이 있다면 그 숫자는 upload_max_filesize 또는 post_max_size으로 무엇을 계산합니까? 둘 다에 해당합니까? 하나가 우선합니까? 하나는 사용되지만 다른 하나는 사용되지 않는 경우가 있습니까?

편집 : 그래서 3 개 파일 입력, 모든 수 있도록 파일 20메가바이트 이하이있는 폼이있는 경우

의 설정과 같이 설정되어야 할 것이다 :

upload_max_filesize = 20M 
post_max_size = 60M 

답변

17

정확합니다. post_max_size은 모든 POST 본문 데이터의 최대 크기입니다. POSTing JSON 또는 DVD 컬렉션 인 경우이 항목은 모두 POST 본문 데이터입니다. 파일 업로드가이 한도에 포함됩니다. 또한 여러 파일을 업로드하는 경우 전체 파일 크기가이 한도에 맞아야합니다.

upload_max_filesize은 게시 된 파일의 최대 크기입니다. 다른 유형의 POST 본문 데이터에는이 제한이 적용되지 않습니다.

요약하면 대용량 파일을 업로드하려면 두 제한을 모두 늘려야합니다.

+0

웹 서버에 한도. Apache는 [LimitRequestBody] (http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody) 지시문을 설정할 수 있습니다. 현재 상태가'post_max_size'보다 같거나 더 커야 만합니다. –

+1

그래서 20MB 크기의 대문자가있는 3 개의 업로드가있는 양식을 가지고 있다면'upload_max_filesize = 20M'이지만'post_max_size'는 괜찮습니다. '60M'으로 설정해야합니까? –

+0

@ 토니 예, 맞습니다. – Brad

4

post_max_size을이다 같은 수퍼 셋. upload_max_filesize는 파일 업로드와 관련된 컨텍스트에 있지만 post_max_size는 모든 종류의 POST 데이터가 있는지 확인됩니다. 그것은 post_max_size에 의해 제한되는 게시 될 수있는 매우 큰 콘텐츠가 될 수 있습니다. 따라서 업로드하려는 큰 파일의 경우 두 제한을 모두 변경해야합니다.

+0

post_max_size의 문서에서 : *' "허용되는 게시물 데이터의 최대 크기를 설정합니다.이 설정은 파일 업로드에도 영향을줍니다. 큰 파일을 업로드하려면이 값이 upload_max_filesize보다 커야합니다."* – Sam

+0

@Sam 생각합니다. Neo가주의를 끌려고 시도한 것은 post_max_size 크기가 모든 파일을 포함해야하지만 더 많은 (매개 변수, MIME 구분 기호 등)을 포함 할 수 있기 때문에 더 커야합니다 (업로드 된 모든 파일의 합계보다) 야합니다. – Alex

관련 문제