在laravel 5.4上更新后上传的img没有删除

在laravel 5.4上更新后上传的img没有删除

问题描述:

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');
}

这是我的laravel 5.4版本的更新代码。 一切正常,但文件不是先前上传的删除。 p>

 公共功能更新(请求$请求,$ id)
 {
 $ input = $ request-> all(); 
 if($ request-&gt  ; 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); 
返回重定向 () - > route('productCRUD.index') - > with('success','User updated successfully'); 
} 
  code>  pre> 
  div>

You can use php unlink function check herefunction.unlink.php

Do like this

unlink($file_path);