Ranjeet's avatar

Delete previous image from folder when updated by new image

How can i delete the previous image from folder when it is update by new image.

my current image update function is like this

public function update($id)
{
      $article = Article::find($id);
    
    if(Input::hasFile('image'))
    {
             $file = Input::file('image');
             $name = time() . '-' . $file->getClientOriginalName();
             $file = $file->move(public_path() . '/images/profile/', $name);
             $article->file= $name;
    }
    $article->save();
    return "success";
}

I want to replace previous images from folder with new updated/uploded images . how can i do this

0 likes
3 replies
fraserk's avatar

You can add the file::delete before you update the record. check out the file name.

if(Input::hasFile('image'))
    {
     File::delete(public_path() . '/images/profile/', $article->file->name); // Delete old flyer
}
4 likes
kfiroj236's avatar

I tried to add this line to the controller page but its not working.

if($request->hasFile('avatar')){ File::delete(public_path() . '/uploads/avatars/', $request->file->avatar); $avatar = $request->file('avatar'); $filename = Auth::user()->recruiters_unique_id.time(). '.' .$avatar->getClientOriginalExtension(); Image::make($avatar)->resize(300,300)->save(public_path('/uploads/avatars/'.$filename)); $user = Auth::user(); $user->avatar = $filename; $user->save();

Please or to participate in this conversation.