Laravel - 获取存储磁盘路径

2022-08-30 17:59:35

我为公共上传创建了一个新的存储磁盘。我这样使用它:

Storage::disk('uploads')->get(...);

但是我试图找出一种方法来获得磁盘本身的路径,我花了相当多的时间在框架文件之间思考,但找不到我想要的东西。我想在这样的场景中使用它:

$icon = $request->file('icon')->store('icons', 'uploads');
Image::make(Storage::disk('uploads')->path($icon))->resize(...)->save();

那么,如何获取存储磁盘的路径?


答案 1

更新 2022

您可以从配置中获取路径:

config('filesystems.disks.uploads.root')

无论如何,我保留了旧的答案,因为它仍然有效并且没有错:


有一个功能可以做到这一点!

Storage::disk('uploads')->path('');

https://laravel.com/api/5.8/Illuminate/Filesystem/FilesystemAdapter.html#method_path

看起来这从5.4开始就一直存在!我从来没有注意到...


答案 2

经过额外的搜索,我发现我可以使用以下内容:

$path = Storage::disk('uploads')->getAdapter()->getPathPrefix();

但是,“->path()”方法在这里不是给定的吗?


推荐