Laravel 5.3:从存储中删除图像

rit*_*its 5 laravel laravel-5.3

我有一种方法可以删除属于它的产品和图像,但我无法删除该图像。

我哪里出错了?

public function deleteProduct($ids)
{
    foreach ($ids as $id => $value) {
        $product = Product::find($id);
        $productImage = $product->image_path;
        if ($productImage) {
            Storage::delete($productImage);
            $product->destroy($id);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我在存储和公共文件夹之间有一个符号链接。

下存储图像位于例如 - storage/app/public/images/products/4/image.png

在公共下 - public/storage/images/products/4/imagep.png

图像路径在数据库中存储为 - /storage/images/products/4/ACTCMRcYlWR8Bn3ZxoJ7bpiDJ7.png

rit*_*its 6

我必须添加删除路径的“/storage”部分并添加“/public”。

$productImage = str_replace('/storage', '', $product->image_path);

Storage::delete('/public' . $productImage);