存储删除不工作laravel

时间:2018-03-04 14:18:01

标签: php laravel

我在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,任何人都可以提供帮助吗?

4 个答案:

答案 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;