表單提交 enctype 不等於 multipart/form-data 的時候
php.ini配置文件中,file_uploads = Off
上傳的文件大小 > php.ini配置文件中所配置的最大上傳大小時
只要出現 $_FILES 爲
空數組
,就可能出現以上的問題,必須修復!php
若是
未選擇任何文件
就立刻點擊「上傳按鈕」
,$_FILES將會是一個有元素的數組
,元素中的每一個屬性都是空字符串
,error屬性爲4
前端
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