일반적인 문제

MAX_FILE_SIZE 항목은 php.ini 파일의 upload_max_filesize에 설정된 파일 크기보다 큰 파일 크기를 지정할 수 없습니다. 기본값은 2MB입니다.

메모리 제한이 활성화된 경우 더 큰 memory_limit가 필요할 수 있습니다. memory_limit를 충분히 크게 설정했는지 확인하십시오.

max_execution_time이 너무 작게 설정되면 스크립트 실행이 값을 초과할 수 있습니다. max_execution_time을 충분히 크게 설정했는지 확인하십시오.

참고: max_execution_time은 스크립트 자체의 실행 시간에만 영향을 줍니다. system(), sleep() 함수를 사용한 시스템 호출, 데이터베이스 쿼리, 파일 업로드 프로세스에 소요된 시간 등 스크립트 외부 실행에 소모하는 시간은 스크립트 최대 실행 시간을 측정할 때 포함하지 않습니다.

경고 max_input_time은 스크립트가 입력을 수신할 수 있는 최대 시간(초)을 설정합니다. 여기에는 파일 업로드가 포함됩니다. 파일이 크거나 여러 개이거나 연결 속도가 느린 사용자의 경우 기본값인 60초를 초과할 수 있습니다.

post_max_size가 너무 작게 설정되면 큰 파일을 업로드할 수 없습니다. post_max_size를 충분히 크게 설정했는지 확인하십시오.

max_file_uploads 구성 설정은 한 요청에서 업로드할 수 있는 최대 파일 수를 제어합니다. 한도보다 많은 파일이 업로드되면 한도에 도달하면 $_FILES에서 파일 처리를 중지합니다. 예를 들어, max_file_uploads가 10으로 설정된 경우 $_FILES에는 10개 이상의 항목이 포함되지 않습니다.

작업하는 파일의 유효성을 검사하지 않으면 사용자가 다른 디렉터리의 중요한 정보에 액세스할 수 있습니다.

CERN httpd는 클라이언트에서 가져온 콘텐츠 유형 MIME 헤더의 첫 번째 공백에서 시작하는 모든 것을 제거하는 것으로 보입니다. 이 경우 CERN httpd는 파일 업로드 기능을 지원하지 않습니다.

많은 수의 디렉토리 목록 스타일로 인해 (공백을 포함하는 것과 같은) 특이한 이름을 가진 파일이 제대로 처리된다고 보장할 수 없습니다.

개발자는 동일한 양식 변수에서 일반 입력 필드와 파일 업로드 필드를 혼합할 수 없습니다(foo[]와 같은 입력 이름 사용).