我在数据库表中保留了多个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/

10-13 03:34