PHP에서 정말 큰 파일을 업로드 할 때 오류가 없습니까?

StackOverflow https://stackoverflow.com/questions/615312

  •  03-07-2019
  •  | 
  •  

문제

파일 업로드를위한 PHP 양식이 있으며 정상적으로 작동하며 문제가 발생하면 오류 메시지가 표시됩니다. 이것은 모두 좋습니다.

문제는 정말 큰 파일로 테스트 할 때 파일을 전혀 보내지 않은 것처럼 페이지를 새로 고침하는 것입니다. 양식의 $ _post 변수 중 어느 것도 서버로 전송되지 않습니다.

사용자에게 오류를 표시하고 파일이 너무 큽니다. 그러나 나는 이것을 할 수 없다.

무슨 일이 일어나고 있는지 아는 사람이 있습니까?

도움이 되었습니까?

해결책

PHP INI 파일을 확인하십시오. 파일 PHP가 업로드 할 수있는 크기의 큰 규모를 통제하십시오. 이러한 변수는 중요합니다.

  • 최대 업로드 파일 크기 (upload_max_filesize)
  • 최대 게시물 데이터 크기 (post_max_size)
  • 메모리 제한 (memory_limit)

설정에 따라 이러한 경계 외부의 업로드는 무시되거나 오류가 발생합니다.

문서 의이 섹션에는 가장 좋은 요약이 있습니다. http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php

편집 : 또한 대부분의 브라우저는 크기가 2GB 이상 업로드를 보내지 않습니다. 이 링크는 구식이지만 아이디어를 제공합니다. http://www.motobit.com/help/scptutl/pa98.htm. 누구든지 이것에 대한 더 나은 정보 소스가 있습니까?

Apache와 같은 서버에서 부과 할 수있는 한계도 있습니다. http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestbody

무슨 일이 일어나고 있는지 확인하려면 웹 서버 로그를 확인하고 브라우저 업로드 제한을 확인하고 (Firefox를 사용하는 경우) print_r($_FILES) 유용한 오류 번호를 생성합니다. 다른 모든 것이 실패하면 Firebug에서 순 트래픽 모니터를 사용해보십시오. 핵심은 요청이 서버로 이동하는지 여부와 요청 (헤더 포함)의 모습인지 확인하는 것입니다. 체인에서 멀리 떨어진 후에는 돌아가서 PHP가 어떻게 업로드를 처리하는지 확인할 수 있습니다.

다른 팁

업로드가 post_max_size 지령:

PHP에서 지침 페이지:

게시물 데이터의 크기가 post_max_size보다 큰 경우 $ _post 및 $ _files SuperGlobals는 비어 있습니다. 예를 들어 $ _get 변수를 데이터를 처리하는 스크립트에 전달하여 다양한 방식으로 추적 할 수 있습니다. <form action="edit.php?processed=1">, 그런 다음 $ _get [ 'Processed']가 설정되어 있는지 확인하십시오.

업로드중인 파일의 크기는 완전히 업로드 될 때까지 알 수 없습니다. 따라서 파일 크기를 결정한 다음 큰 파일에 대한 오류를 표시하려면 먼저 파일을 업로드 한 다음 파일 크기를 확인해야합니다. 큰 파일을 업로드하려면 PHP 구성 파일 Php.ini에서 2 개의 설정을 설정해야합니다. 그것을 열고 "upload_max_filesize"를 검색하고 원하는 최대 값으로 값을 설정하십시오. 그런 다음 업로드 된 파일이 HTTP Post 메소드를 통해 수신되므로 POST 매개 변수의 최대 값을 설정해야합니다. "post_max_size"를 찾아 큰 값으로 설정하십시오.

업로드가 얼마나 많은지 알기 위해 정기적 인 Ajax 호출을 수행하는 간단한 스크립트를 구현합니다. 그런 다음 일종의 진행률 표시 줄을 구현할 수 있습니다. 그물에는 몇 가지 예가 있습니다.

http://martinjansen.com/2007/04/28/file-upload-progress-bars-with-php/

Max Upload Filesize (upload_max_filesize) Max Post Data Size (post_max_size)는 설정 해야하는 지침입니다. 여러 OS, 브라우저 등으로 테스트했으며 걱정해야 할 유일한 두 가지입니다.

이전 사용자가 대답 한대로 옵션을 형성합니다.

max upload filesize (upload_max_filesize)
max post data size (post_max_size)
memory limit (memory_limit)

파일이 매우 크거나 줄이 바쁠 때이 작업을 실행하는 데 많은 시간이 필요하므로 스크립트 실행 한계의 천장에 도달합니다.

max_execution_time
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top