我在Storage
我想用$post = Post::find($id);
Storage::delete(storage_path().'app/public/images/'.$post->image);
类
Storage::delete(storage_path('app/public/images/'.$post->image));
和
Storage::delete(public_path().'/storage/images/'.$post->image);// i have created symbolic link
也是这个
Location
没有错误消息,但它无法正常工作。我正在使用laravel 5.6,任何人都可以提供帮助吗?
答案 0 :(得分:4)
默认的公共存储位置是storage/app/public
,所以只需传入images目录和文件名,如下所示:
Storage::delete('images/' . $post->image)
答案 1 :(得分:0)
Storage Facade的默认根目录是在config / filesystems.php中配置的,默认值为:
'disks'=> [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
所以您应该使用:
Storage::delete('public/images/' . $post->image)
答案 2 :(得分:0)
首先,在项目的根目录中打开命令提示符,然后运行...
php artisan storage:link
然后尝试...
$post = Post::find($id);
Storage::disk('public')->delete('/images/' . $post->image);
答案 3 :(得分:-2)
使用php的unlink功能,只需将确切的路径传递给你的文件即可取消链接功能:
unlink($file_path);
如果文件未存储在数据库中,请不要忘记创建文件的完整路径。 e.g
$file_path = storage_path().'app/public/images/'.$post->image;