我在数据库表中保留了多个FTP帐户,并希望每个帐户都可以作为Laravel中的存储磁盘使用。
通常,Laravel's disks是在config/filesystems.php
中定义的。但是,我不想在那儿对我的FTP帐户进行硬编码,而是想在中间件中即时定义它们。
这可能吗?我该怎么做?
最佳答案
我使用以下方法创建了服务提供商MyDiskServiceProdiver
:
public function boot()
{
MyDisk::all()->each(function(MyDisk $myDisk) {
$this->app['config']["filesystems.disks.{$myDisk->name}"] = ['driver' => $myDisk->driver] + $myDisk->config;
});
}
其中
config
属性在数据库中为json类型,并包含多个特定于驱动程序的属性。关于laravel - 快速添加Laravel存储磁盘/文件系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50369819/