>백엔드 개발 >PHP 튜토리얼 >PHP 단일 파일 및 다중 파일 업로드 example_php 예제

PHP 단일 파일 및 다중 파일 업로드 example_php 예제

韦小宝
韦小宝원래의
2018-05-15 13:44:051876검색

파일 업로드PHP의 다중 파일 업로드는 이제 막 시작한 PHP 초보자에게 악몽과 같습니다. 이 기사에서는 단일 파일 업로드 및 다중 파일을 구현하는 PHP 코드에 대한 자세한 분석을 제공합니다. 업로드도 문제해결 방법, PHP 파일 업로드를 이해하지 못하신다면 기대해주세요! !

$_FILES가 빈 배열인 경우는 언제인가요?

양식 제출 enctype이 multipart/form-data와 같지 않은 경우 php.ini구성 파일에서 ​​file_uploads = Off 및 업로드된 파일 크기 > php.ini 구성에 구성된 최대 업로드 크기 file

표시되는 한 $_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 / error单文件还是多文件上传,都会有5个固定属性:name / size / type / tmp_name / error

多文件上传

相比单文件上传,多文件上传处理起来要复杂多了前端的两种多文件上传形式

//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)
 &#39;wt&#39; => 
  array (size=5)
   &#39;name&#39; => 
    array (size=2)
     0 => string &#39;新建文本文档 (2).txt&#39; (length=26)
     1 => string &#39;新建文本文档.txt&#39; (length=22)
   &#39;type&#39; => 
    array (size=2)
     0 => string &#39;text/plain&#39; (length=10)
     1 => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => 
    array (size=2)
     0 => string &#39;C:\Windows\php1D64.tmp&#39; (length=22)
     1 => string &#39;C:\Windows\php1D65.tmp&#39; (length=22)
   &#39;error&#39; => 
    array (size=2)
     0 => int 0
     1 => int 0
   &#39;size&#39; => 
    array (size=2)
     0 => int 0
     1 => int 1820

//name不同(简单点)
array (size=2)
 &#39;wt&#39; => 
  array (size=5)
   &#39;name&#39; => string &#39;新建文本文档 (2).txt&#39; (length=26)
   &#39;type&#39; => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => string &#39;C:\Windows\php39C7.tmp&#39; (length=22)
   &#39;error&#39; => int 0
   &#39;size&#39; => int 0
 &#39;mmt&#39; => 
  array (size=5)
   &#39;name&#39; => string &#39;新建文本文档.txt&#39; (length=22)
   &#39;type&#39; => string &#39;text/plain&#39; (length=10)
   &#39;tmp_name&#39; => string &#39;C:\Windows\php39D8.tmp&#39; (length=22)
   &#39;error&#39; => int 0
   &#39;size&#39; => int 1820

백엔드의 $_FILES에 해당하는 데이터 구조가 다릅니다

rrreee

필드 오류 목적값: 1 업로드된 파일이 php.ini의 upload_max_filesize 옵션에 의해 제한되는 값을 초과합니다.

값: 2 업로드된 파일의 크기가 HTML 형식의 MAX_FILE_SIZE 옵션에 지정된 값을 초과합니다. 값: 3 파일의 일부만 업로드되었습니다. 값: 4 업로드된 파일이 없습니다. 값: 5 업로드된 파일 크기는 0입니다.

위 내용은 PHP 파일 업로드의 모든 내용입니다. 많은 분들께 도움이 되었으면 좋겠습니다! !

관련 권장 사항:

PHP에서 대용량 파일을 업로드할 수 없는 문제에 대한 완벽한 솔루션

🎜🎜🎜🎜PHP 단일 파일 및 다중 파일 업로드 분석 예🎜🎜🎜🎜PHP 파일 업로드 클래스 Sharing_php 예🎜 🎜

위 내용은 PHP 단일 파일 및 다중 파일 업로드 example_php 예제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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