Laravel:如何在更新新的个人资料图片之前检查并删除现有的个人资料图片?

问题描述 投票:0回答:1

每当请求更新个人资料图像时,我的脚本必须检查现有图像是否存在。如果是这样,则应在创建新图像之前删除现有图像。

public function updateImage(Request $request)
{
    $profile = Admin::find(Auth::guard('admin')->id());

    $file_existsion = $request->image->getClientOriginalExtension();
    $file_name = time().'.'.$file_existsion;
    $path = 'images/tourism/header';
    $request->image->move($path, $file_name);

    if (file_exists($file_name) && $request->image == '') {
        $profile->auth()->guard('admin')->update(['image' => $file_name]);
    } elseif ($request->hasFile('image') && $request->image != null) {
        unlink(public_path().'images/tourism/header'.$profile->image);
        $profile->image = $file_name;
    }
    
    return redirect()->back();
}
php image updates laravel-10 laravel-11
1个回答
0
投票

您检查个人资料是否已有图片,如果存在则删除

if (!empty($profile->image) && file_exists(public_path($path . '/' . $profile->image))) {
        unlink(public_path($path . '/' . $profile->image));
    }
© www.soinside.com 2019 - 2024. All rights reserved.