PHP單檔案和多檔案上傳執行個體講解

來源:互聯網
上載者:User
本篇文章給大家詳細分析了PHP實現單檔案上傳和多檔案上傳的代碼以及問題解決方案,一起學習參考下。

$_FILES何時為空白數組?

表單提交 enctype 不等於 multipart/form-data 的時候 php.ini設定檔中,file_uploads = Off 上傳的檔案大小 > php.ini設定檔中所配置的最大上傳大小時

只要出現 $_FILES 為空白數組,就可能出現以上的問題,必須修複!

如果 未選擇任何檔案 就馬上點擊 “上傳按鈕”,$_FILES將會是一個有元素的數組,元素中的每個屬性都是Null 字元串,error屬性為4

單檔案上傳

$_FILES 資料結構

array(  'filename' => array(    'name' => 'xxx.png',    'type' => 'image/png',    'size' => 2548863,    'tmp_name' => '/img/sdsdsd.png',    'error' => 0  ))

無論是單檔案還是多檔案上傳,都會有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) '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

欄位Error用途

值:1 上傳的檔案超過了 php.ini 中 upload_max_filesize 選項限制的值。

值:2 上傳檔案的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。

值:3 檔案只有部分被上傳。

值:4 沒有檔案被上傳。值:5 上傳檔案大小為0.

PHP多人模組開發的原理解析

使用XHProf尋找PHP效能瓶頸的執行個體講解

Laravel架構中自訂模板指令相關總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.