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);
新闻热点
疑难解答