删除图像路径保存在数据库中的路径的图像

Delete images where image path is saved with path in database

我正在上传图像,在保存到数据库时我添加了位置路径和文件名。

eg : product/name/L4I84qXltYvCCDsAeQzi7fzZfKF3WTRa1LPOPGxj.jpeg

为什么要添加我可以通过 asset() 调用它们的位置? table 也被 API 应用程序使用,它需要像这样的 url 格式。

我的控制器 Cdde

  //! Product Image
        if ($request->hasFile('product_image')) {
            $product_image = $request->file('product_image');
            $product_image_extension = $product_image->getClientOriginalExtension();
            $product_image_filename =  Str::slug($request->input('product_code')) .  '.' . Str::random(3) . "." . $product_image_extension;
            $product_image_location = public_path('assets/products/' . $product_image_filename);
            Image::make($product_image)->resize(300, 300)->save($product_image_location);
        }

Products::create([
//Other Fields 
            'image' => 'assets/products/' . $product_image_filename
        ]);

我想知道如何删除图像并添加新图像

为了比较,我需要图像文件名。因为我使用的是路径,所以我得到的路径是图像名称的前缀。

use Illuminate\Support\Facades\File 



$image_path = "/images/filename.ext";  // Value is not URL but directory file path
    if(File::exists($image_path)) {
        File::delete($image_path);
    }
 use File; 

  @unlink(public_path() . 'uploads/documents/' . $users->document1);