webfuelcode's avatar

How to delete avatar when new uploaded?

This is the controller for the avatar upload page. Please guide me to delete the older one when the new avatar is uploaded.

Avatar file folder in the public folder - public/uploads/avatar...

public function update_avatar(Request $request){
        if($request->hasFile('avatar')){
            $filename = time() . '.' . $request->avatar->getClientOriginalExtension();
            if(auth()->user()->avatar){
                File::delete('/uploads/avatar/' . auth()->user()->avatar);
            }
            $request->avatar->storeAs('avatar', $filename, 'my_files');

            $user = Auth::user();
            $user->avatar = $filename;
            $user->save();
        }
        return redirect()->back();
    }
0 likes
1 reply
SilenceBringer's avatar
Level 56

Hi @webfuelcode

use Illuminate\Support\Facades\Storage;

Storage::disk('my_files')->delete('avatar/' . auth()->user()->avatar);

Please or to participate in this conversation.