문제

PHP 스크립트를 통해 파일을 업로드하려고하지만 내 $ _files 어레이는 항상 비어 있습니까? 파일 HTML 입력 요소의 내 $ _post 데이터 항목에는 파일 이름이 있습니다 ... 내 로컬 시스템에 파일이 생성되지 않습니다.

Temp 폴더에 대한 쓰기 액세스를 확인하고 설명을 설정했습니다. 파일 업로드가 활성화되어 있는지 확인하기 위해 phpinfo ()를 확인했습니다.

이것을 막을 수있는 것은 무엇입니까? mod_rewrite가 무엇인가를 일으킬까요?

감사!

도움이 되었습니까?

해결책

적절한 ENCTYPE가있을 때 (<form method="post" enctype="multipart/form-data">), 그런 다음 $ _files에서 errno 변수를 확인하십시오. 실패의 다양한 원인이 있습니다. 일반적인 경우 max_file_size가 초과됩니다.

http://php.net/manual/en/features.file-upload.errors.php

PHP 4.2.0 이후 PHP는 파일 배열과 함께 적절한 오류 코드를 반환합니다. 오류 코드는 PHP가 파일 업로드 중에 생성 된 파일 배열의 오류 세그먼트에서 찾을 수 있습니다. 다시 말해, 오류는 $ _files [ 'userfile'] [ 'error']에서 찾을 수 있습니다.

upload_err_ok 값 : 0; 오류가 없습니다. 파일은 성공으로 업로드되었습니다.

upload_err_ini_size 값 : 1; 업로드 된 파일은 php.ini의 upload_max_filesize 지시문을 초과합니다.

upload_err_form_size 값 : 2; 업로드 된 파일은 HTML 양식으로 지정된 Max_File_Size 지시문을 초과합니다.

등.

다른 팁

당신은 당신의 형태로 Enctype를 정의하고 있습니까?

<form method="post" enctype="multipart/form-data">

설정하지 않으면 파일이 업로드되지 않습니다.

양식에 올바른 ENCTYPE가 있습니까?

enctype="multipart/form-data"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top