php實現多圖片上傳方法非常的簡單只要遍歷數組然後使用上傳函數就可以搞定了,可以說幾句代碼就可以實現,但對於新手來講還是有點,下面一起來看看。在做圖片上傳時用到了symfony第三方上傳庫,但是對於多圖片上傳怎麼處理,這裡我用了個笨辦法就是把多圖片數組轉換成單個的圖片數組上傳!
表單提交如下:
接受的圖片信息的數組如下:
所以對此做一些處理,單個圖片依次上傳,如下:
if (isset($_FILES['image']) && $_FILES['image']['name']) {
$file = $_FILES['image'];
$num = count ($_FILES['image']['name']); //計算上傳的圖片數量
// 處理數組
for ($i=0;$i < $num;$i++) {
$data[$i]['name'] = $file['name'][$i];
$data[$i]['type'] = $file['type'][$i];
$data[$i]['tmp_name'] = $file['tmp_name'][$i];
$data[$i]['error'] = $file['error'][$i];
$data[$i]['size'] = $file['size'][$i];
}
foreach ($data as $key => $val) {
$_FILES['image'] = $val;
if(move_uploaded_file($val['name'], './',$val['name'])){
echo '<img src="'.$path.$image_name.'" class="preview">';
}else{
echo '上傳出錯了!';
}
}
$info['image'] = serialize($img); // 序列化數組存數據庫
$conn->insert('maintenance', $info);
}
這算是比較偷懶的做法,有不對的地方還望多多指教!
注意:fileUpload('image')是一個上傳類了,各位可以參考下來來看看 move_uploaded_file($value, $savepath);