0

Laravel 文档指出 FlySystem 配置位于config/filesystems.php. 有没有办法可以更改此文件的加载位置,或者我可以在使用磁盘从不同配置加载时声明?

所以而不是

Storage::disk('local')->put('file.txt', 'Contents');

就像是

 Storage::disk('myconfig::local')->put('file.txt', 'Contents');
4

2 回答 2

0

我从来没有想过我可以简单地使用

Config::set('filesystems.disks', $config);

这允许我从我选择的代码中的任何位置设置配置。在我的例子中,我在我的包中使用了服务提供者和一个单独的配置文件。

于 2017-06-09T12:41:56.900 回答
0

它支持的驱动程序:“local”、“ftp”、“s3”、“rackspace”;

也许你需要看看这个文档

src/Illuminate/文件系统/FilesystemManager.php#L70


/**
 * Get the filesystem connection configuration.
 *
 * @param  string  $name
 * @return array
 */
protected function getConfig($name)
{
    return $this->app['config']["filesystems.disks.{$name}"];
}

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_KEY'),
            'secret' => env('AWS_SECRET'),
            'region' => env('AWS_REGION'),
            'bucket' => env('AWS_BUCKET'),
        ],

    ]
于 2017-06-08T09:50:51.740 回答