亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用PHP怎么上傳多文件

發布時間:2020-12-25 15:27:37 來源:億速云 閱讀:114 作者:Leah 欄目:開發技術

使用PHP怎么上傳多文件?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

多文件上傳的兩種情況

①使用多個name值

<input type="file" name="file1">
<input type="file" name="file2">
<input type="file" name="file3">
<input type="file" name="file4">

a.點擊提交之后接收到的數據格式

Array
(
[file1] => Array
(
[name] => 8.png
[type] => image/png
[tmp_name] => G:\wamp\tmp\php737.tmp
[error] => 0
[size] => 200
)
[file2] => Array
(
[name] => 28.png
[type] => image/png
[tmp_name] => G:\wamp\tmp\php738.tmp
[error] => 0
[size] => 6244
)
[file3] => Array
(
[name] => 54a296f8n6787b34c.png
[type] => image/png
[tmp_name] => G:\wamp\tmp\php739.tmp
[error] => 0
[size] => 3143
)
[file4] => Array
(
[name] => 54c0573dncb4db6f7.jpg
[type] => image/jpeg
[tmp_name] => G:\wamp\tmp\php788.tmp
[error] => 0
[size] => 5404
)
)

從這種格式可以看出來,每一個文件對應一個數組單元

所以使用foreach遍歷數組,并對每個數組單元進行文件上傳函數調用

b.點擊提交后的操作

①接收上傳的文件信息

$file = $_FILES;

②引入上傳函數

include('./functions.php');

③設置文件保存路徑

$path = './uploads/'; // 此目錄需要手動創建

④調用文件上傳函數

foreach($file as $v){
$info = uploadFile($v,$path);
⑤判斷上傳狀態
if($info['isok']){
echo '上傳成功'.$info['message'];
} else {
echo '上傳失敗'.$info['message'];
}
}

---------------------------------------------------------------

②使用單個name值

a.第一種寫法

<input type='file' name="file[]">
<input type='file' name="file[]">
<input type='file' name="file[]">

b.第二種寫法

<input type="file" name="file[]" multiple>

c.點擊提交之后,接收到的數據格式

Array
(
[userpic] => Array
(
[name] => Array
(
[0] => 8.png
[1] => 9b2d7581fba543ec9bcf95e91018915a.gif
[2] => 12.jpg
)
[type] => Array
(
[0] => image/png
[1] => image/gif
[2] => image/jpeg
)
[tmp_name] => Array
(
[0] => G:\wamp\tmp\php85E5.tmp
[1] => G:\wamp\tmp\php85E6.tmp
[2] => G:\wamp\tmp\php8635.tmp
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[size] => Array
(
[0] => 200
[1] => 16503
[2] => 19443
)
)
)

從這種格式可以看出來,是將上傳的文件信息分開保存到每個下標中。
所以要做的事情就是拼接出來一個完整的文件信息,一個一維數組

Array(
[name] => 54c0573dncb4db6f7.jpg
[type] => image/jpeg
[tmp_name] => G:\wamp\tmp\php788.tmp
[error] => 0
[size] => 5404
)

所以要進行的操作,是遍歷$_FILES['file'] 然后從中取出每條上傳文件的信息

d.點擊提交后的操作

①接收上傳的文件信息

$file = $_FILES['file'];

②引入上傳函數

include('./functions.php');

③設置文件保存路徑

$path = './uploads/'; // 此目錄需要手動創建

④調用文件上傳函數

foreach($file['name'] as $key=>$value){
$data['name'] = $file['name'][$key];
$data['type'] = $file['type'][$key];
$data['tmp_name'] = $file['tmp_name'][$key];
$data['error'] = $file['error'][$key];
$data['size'] = $file['size'][$key];
$info = uploadFile($data,$path);

⑤判斷上傳狀態

if($info['isok']){
echo '上傳成功'.$info['message'];
} else {
echo '上傳失敗'.$info['message'];
}
}

a.遍歷$file['name'] 只是為了獲取$key

b.每遍歷一次,取出相對應下標的文件信息,賦值給一個新數組中對應的鍵

如第一次 $key = 0;

$data['name'] = $file['name'][0]; // 相當于取出了第一個文件的名字
$data['type'] = $file['type'][0]; // 相當于取出了第一個文件的類型

...

第一次遍歷完成之后

$data = array(
[name] => 54c0573dncb4db6f7.jpg
[type] => image/jpeg
[tmp_name] => G:\wamp\tmp\php788.tmp
[error] => 0
[size] => 5404
);

這樣就取出了第一個文件的所有信息

然后調用上傳函數,進行文件上傳處理

第二次遍歷時$key=1,相當于獲取第二個上傳文件的信息

看完上述內容,你們掌握使用PHP怎么上傳多文件的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜州市| 岢岚县| 岳普湖县| 遂平县| 黔南| 南安市| 凤山市| 洪泽县| 景洪市| 沙河市| 元氏县| 永州市| 湘阴县| 理塘县| 长兴县| 毕节市| 长汀县| 合江县| 汉沽区| 铜川市| 兴山县| 宁南县| 绿春县| 卢湾区| 大连市| 湖口县| 阳信县| 清丰县| 株洲县| 邹城市| 陵水| 太白县| 新化县| 临沭县| 济阳县| 连城县| 高碑店市| 昌平区| 海丰县| 偃师市| 皋兰县|