이 글은 주로 PHP의 단일 파일 업로드와 다중 파일 업로드에 대한 코드와 문제 해결 방법에 대한 자세한 분석을 제공하므로 참고할 수 있기를 바랍니다.
$_FILES가 빈 배열인 경우는 언제인가요?
양식 제출 enctype이 php.ini 구성 파일의 multipart/form-data와 같지 않으면 file_uploads = Off이고 업로드된 파일 크기 > php.ini 구성 파일에 구성된 최대 업로드 크기
$_FILES가 나타납니다. 배열이 비어 있으면 위의 문제가 발생할 수 있으므로 해결해야 합니다!
파일을 선택하지 않고 바로 "업로드 버튼"을 클릭하면 $_FILES는 요소가 포함된 배열이 됩니다. 요소의 각 속성은 빈 문자열이며 오류 속성은 4
단일 파일 업로드
$ _FILES입니다. 데이터 구조
array( 'filename' => array( 'name' => 'xxx.png', 'type' => 'image/png', 'size' => 2548863, 'tmp_name' => '/img/sdsdsd.png', 'error' => 0 ) )
단일 파일이든 여러 파일 업로드이든 5가지 고정 속성이 있습니다: 이름 / 크기 / 유형 / tmp_name / 오류
다중 파일 업로드
단일 파일 업로드와 비교하여 다중 파일 업로드는 다음과 같습니다. 처리하는 데 시간이 더 걸립니다. 프런트 엔드에 있는 두 개의 다중 파일 업로드 양식은 훨씬 더 복잡합니다
//name相同 <form method="post" enctype="multipart/form-data"> <input type="file" name="wt[]"/> <input type="file" name="wt[]"/> <input type="submit" value="提交"/> </form> //name不同(简单点) <form method="post" enctype="multipart/form-data"> <input type="file" name="wt"/> <input type="file" name="mmt"/> <input type="submit" value="提交"/> </form>
백엔드에 있는 $_FILES의 해당 데이터 구조가 다릅니다.
//name相同 array (size=1) 'wt' => array (size=5) 'name' => array (size=2) 0 => string '新建文本文档 (2).txt' (length=26) 1 => string '新建文本文档.txt' (length=22) 'type' => array (size=2) 0 => string 'text/plain' (length=10) 1 => string 'text/plain' (length=10) 'tmp_name' => array (size=2) 0 => string 'C:\Windows\php1D64.tmp' (length=22) 1 => string 'C:\Windows\php1D65.tmp' (length=22) 'error' => array (size=2) 0 => int 0 1 => int 0 'size' => array (size=2) 0 => int 0 1 => int 1820 //name不同(简单点) array (size=2) 'wt' => array (size=5) 'name' => string '新建文本文档 (2).txt' (length=26) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39C7.tmp' (length=22) 'error' => int 0 'size' => int 0 'mmt' => array (size=5) 'name' => string '新建文本文档.txt' (length=22) 'type' => string 'text/plain' (length=10) 'tmp_name' => string 'C:\Windows\php39D8.tmp' (length=22) 'error' => int 0 'size' => int 1820
필드 오류 목적
값: 1 업로드된 파일이 다음을 초과합니다. php.ini의 upload_max_filesize 옵션에 의해 값이 제한됩니다.
값: 2 업로드된 파일의 크기가 HTML 형식의 MAX_FILE_SIZE 옵션에 지정된 값을 초과합니다.
값: 3 파일의 일부만 업로드되었습니다.
값: 4 업로드된 파일이 없습니다. 값: 5 업로드된 파일의 크기는 0입니다.
관련 권장 사항:
위 내용은 PHP 단일 파일 및 다중 파일 업로드 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!