在做圖片上傳時用到了symfony第三方上傳庫,詳見 Symfony2使用第三方庫Upload製作圖片上傳【原創】,但是對於多圖片上傳怎麼處理,這裡我用了個笨辦法就是把多圖片數群組轉換成單個的圖片數組上傳!
表單提交如下:
接受的圖片資訊的數組如下:
所以對此做一些處理,單個圖片依次上傳,如下:
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);