无法在laravel中更新照片

时间:2017-04-14 22:09:25

标签: php laravel

我的应用程序上的每个用户都有一张封面照片,就像Facebook一样。我已经尝试了几天才能更新它,但现在我被卡住了。当我点击更新时,我的用户上一张照片被删除了,而新照片没有出现,我的默认照片就是这样。

这是我的控制器

    public function updateCover(Request $request, $id)
{
    $user = User::findorFail($id)->with('cover_id');

    $input = $request->all();

    $input = Input::file('cover_id');
    $filename  = time() . '.' . $input->getClientOriginalExtension();
    $path = public_path('images' . $filename);
    Photo::make($input->getRealPath())->save($path);
    $user->cover = 'images'.$filename;
    $user->save();
}

我对表格的看法

  {!! Form::model($user, ['method'=>'PUT', 'action'=>
   ['UserController@updateCover', $user->id], 'files'=>true]) !!}
   {!! Form::file('cover_id', ['class'=>'form-control']) !!}

我不是laravel的专家所以我知道我可能会完全错误地做这件事,我只是想在更新时更改封面照片。

1 个答案:

答案 0 :(得分:0)

尝试使用移动功能:

$user = User::findorFail($id)->with('cover_id');
$input = $request->all();
$file = $request->file('input_img');
$filename  =  str_random(40). '.' . $input->getClientOriginalExtension();
$file->move("fotoupload", $filename);
$user->cover = $filename;
$user->save();