>  기사  >  백엔드 개발  >  파일 업로드 시 PHP의 `post_max_size`와 `upload_max_filesize`는 어떻게 함께 작동합니까?

파일 업로드 시 PHP의 `post_max_size`와 `upload_max_filesize`는 어떻게 함께 작동합니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 00:01:02388검색

 How Do PHP's `post_max_size` and `upload_max_filesize` Work Together for File Uploads?

PHP 파일 업로드 크기 제한 이해

PHP 구성 설정 post_max_size 및 upload_max_filesize는 파일 업로드를 처리하는 데 중요한 역할을 합니다. 그러나 상호 작용은 혼란스러울 수 있습니다.

혼란

제공된 예에서 post_max_size는 8Mb로 설정되고 upload_max_filesize는 16Mb로 설정됩니다. 논리적으로 최대 16Mb의 파일을 업로드할 수 있다고 가정할 수 있습니다. 그러나 더 작은 post_max_size 제한이 이 가정을 무시하므로 8Mb보다 큰 파일을 업로드하려고 하면 오류가 발생합니다.

제한 정의

  • upload_max_filesize : 업로드된 단일 파일의 최대 크기를 지정합니다.
  • post_max_size: 파일을 포함하여 제출되는 모든 데이터가 포함된 전체 HTTP POST 요청 본문의 최대 크기를 지정합니다.

제한의 상호 작용

post_max_size는 POST를 통해 제출되는 모든 파일 및 기타 데이터의 결합 크기에 대한 전체 제한 역할을 합니다. 이는 upload_max_filesize가 더 큰 파일을 허용하더라도 전체 요청 크기는 post_max_size를 준수해야 함을 의미합니다.

대용량 파일 업로드를 위한 솔루션

파일 업로드를 허용하려면 post_max_size보다 크면 POST를 사용하지 않고 파일을 전송하는 대체 방법을 찾아야 합니다. 여기에는 다음이 포함될 수 있습니다.

  • Multipart/form-data: HTTP 요청 크기 제한과 관계없이 파일 업로드를 처리하는 사용자 정의 스크립트를 활용합니다.
  • PUT/PATCH HTTP 방법: 이러한 방법을 사용하여 REST API를 통해 대용량 파일을 업로드합니다.

오류 감지

post_max_size를 초과하면 $ _POST 및 $_FILES는 비어 있습니다. 그러나 $_SERVER['CONTENT_LENGTH']는 0보다 큽니다. 게시 변수나 파일이 전송되지 않으면 $_SERVER['CONTENT_LENGTH']가 0이 된다는 점에 유의하는 것이 중요합니다.

위 내용은 파일 업로드 시 PHP의 `post_max_size`와 `upload_max_filesize`는 어떻게 함께 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.