【发布时间】:2020-07-06 19:30:41
【问题描述】:
有人可以告诉我如何在产品被删除时从公共路径中取消链接。
我当前的代码不起作用:
public function destroy($id)
{
$product = Product::findOrFail($id);
$image_path = '/uploads/products/' . $product->image;
if(file_exists($image_path)){
unlink($image_path);
}
$product->delete();
}
也试过了:
$product = Product::findOrFail($id);
if(file_exists($product->image)){
unlink($product->image);
}
$product->delete();
我也在使用访问器,所以我的 $product->image 正在返回:
"http://myeshop.local/uploads/products/1593902362bluesocksupd.jpg"
这里是访问代码:
public function getImageAttribute($image){
return asset($image);
}
【问题讨论】:
-
我认为你应该看看这个答案stackoverflow.com/questions/33842735/…。
-
unlink()必须删除指定的文件。但是您没有提供文件的绝对路径。因此,您必须为要删除的文件提供绝对路径。 -
不,应该但绝对不能。所有权、权限等
-
哦! SeadSilajdzic MarcinOrlowski 在这个意义上绝对是正确的。
标签: laravel