This is my update code of laravel 5.4 version. All is working except the file is not delete which is previously uploaded.
public function update(Request $request, $id)
{
$input = $request->all();
if ($request->hasFile('userpic')) {
$userpic = $input['pic'];
$file_path = public_path("avatars\$userpic");
if(File::exists($file_path)) {
File::delete($file_path);
}
$fileName = time().$request->userpic->getClientOriginalName();
$request->userpic->move(public_path('avatars'), $fileName);
$input['userpic'] = $fileName;
}
Product::find($id)->update($input);
return redirect()->route('productCRUD.index')->with('success','User updated successfully');
}