Laravel 5.2:通过干预上传多个图像,但仅上传第一张图像

时间:2017-09-04 11:47:22

标签: php laravel-5.2 multifile-uploader intervention

您好我正在尝试使用干预套餐上传多张图片,但是当我开始上传时,只有一张图片会上传

这是视图

{!! Form::open(array('url'=>'admin/event-gallery', 'method'=>'post', 'files'=>'true')) !!}
                {!! Form::label('image', 'Event Image Gallery') !!}
                {!! Form::file('image[]', ['multiple']) !!}
                {!! Form::hidden('event_id', $event->id) !!}
                {!! Form::submit('Add More Images', array('class'=>'btn btn-primary')) !!}
{!! Form::close() !!}

,这是控制器

    public function store( Request $request ) {
                $event = new EventGallery();
                if ( $request->hasFile( 'image' ) ) {
                    $images = $request->file( 'image' );
                    foreach ( $images as $image ) {
                        $event->event_id = $request->event_id;
                        $filename        = time() . '.' . $image->getClientOriginalExtension();
                        Image::make( $image )->resize( 450, 150 )->save( 'images/events/' . $filename );
                        Image::make( $image )->fit( 243, 111 )->save( 'images/events/thumbs-' . $filename );
                        $event->image = $filename;
                    }
                }
$event->save();
    Session::flash( 'status', 'Event has been added successfully' );

            return Redirect::to( 'admin/events/create' );
        }

编辑我如何运作

  1. 首先是save()循环之外的foreach
  2. 其次我在上传时遇到了一个非常奇怪的问题,我发现图片重复了,这是由代码的这一部分$filename = time() . '.' . $image->getClientOriginalExtension();得到的,因为time()所以不要这样做;当您在此处上传多个文件时,请相信time()我将其替换为str_random( 10 ),之后每个都可以。
  3. 如果有人有任何意见或建议,将很高兴收到他的来信。

0 个答案:

没有答案