Laravel4:上传图片

时间:2016-07-03 18:21:29

标签: php laravel laravel-4

我希望通过表单上传照片。我正确设置了Photo资源。表格照片包括:id,title,caption,path:string。

这是要求用户上传图片的表单的一部分:

{{Form::open(array('route' => 'CrewRegisterPost', 'role'=>'form','files'=> true,'class' => 'form-horizontal','style' => 'margin-top:15px;'))}}
   <label class="col-md-4 control-label" for="license_image">Colour scanned copy of Licence *</label>  
    <div class="col-md-6">
       <input type="file" name="license_image" accept="image/*" required>   
           {{Form::showError('license_image')}}         
    </div>
{{Form::close()}}

这是我到目前为止所做的简单存储方法:

public function createNewCrew($data){
        $user = $this->storeNewUserCommonFields($data,User::getTypeNumberFor('Crew'));

        $validator = new Saarang\Validators\FlightCrewValidator($data);

        if($validator->fails()){
            $this->messageBag->merge($validator->errors->getMessages());
        }

        if($user){
            $Crew = new Crew();
            $Crew->user_id = $user->getKey();
            $Crewlicense_image = $data['license_image'];
            $savepath = 'public/img/';
            $filename = time() . '-' .$Crewlicense_image;
            Input::file('license_image')->move($savepath, $filename);
            $Crew->save();
            return $user;
       }
}
  

但是当我运行它时,我收到以下错误:调用成员函数   在非对象上移动()

如何正确地将那个实现用于检索文件并存储在public / img中的文件夹中?

1 个答案:

答案 0 :(得分:0)

尝试使用: -

move(base_path().savepath, $filename);

而不是

move($savepath, $filename);

因为没有编写 base_path()方法会显示此类错误。

希望这对你有用。