在laravel中上传多个图像时的preg_replace错误

时间:2016-06-01 09:21:52

标签: php laravel laravel-5 preg-replace image-uploading

在laravel中上传多张图片时出错。

HTML代码: -

<div class="form-group">
<label for="title">Art Gallery</label>
 <input type="file" name="art_image[]" id="art_image" value="{{old('art_image') }}"  accept="image/*"  multiple="multiple">
</div>

: - 控制器代码

if ($request->hasFile('art_image')) {
   $fileImage1 = $request->file('art_image');
   $StoreName = array();
   foreach ($fileImage1 as $files) {
         $filename1 = time().rand(1,100).".".$files->getClientOriginalExtension();
     $StoreName[] = $filename1;
     if($files->move(ART_IMAGE_DIR_PATH, $filename))
         {
              $data['art_image'] = $filename1;
           }
        }
   $artdetail_model->art_image = serialize($StoreName);
     }

我得到以下错误

preg_replace():参数不匹配,pattern是一个字符串,而replacement是一个数组

1 个答案:

答案 0 :(得分:0)

问题是,当您提交多个图像时,它会变成一个图片数组而不是一个字符串。所以它试图将数组保存到数据库而不是它期望的字符串。如果您将照片变量设为 json_encoded 图片数组,那么您应该可以保存它们。

希望这有帮助。