php實現多圖片上傳方法非常的簡單只要遍歷數組然后使用上傳函數就可以搞定了,可以說幾句代碼就可以實現,但對于新手來講還是有點,下面一起來看看.
在做圖片上傳時用到了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{ //Vevb.com
- echo '上傳出錯了!';
- }
- }
- $info['image'] = serialize($img); // 序列化數組存數據庫
- $conn->insert('maintenance', $info);
- }
這算是比較偷懶的做法,有不對的地方還望多多指教!
注意:fileUpload('image')是一個上傳類了,各位可以參考下來來看看 move_uploaded_file($value, $savepath);
新聞熱點
疑難解答