将文件保存到scaleway存储php方法

时间:2018-12-29 12:22:13

标签: php laravel cloud-storage

如何通过laravel或PHP方法将图像上传到scaleway存储?

1 个答案:

答案 0 :(得分:4)

Laravel在后台使用FlySystem来抽象文件存储。它提供了一些现成的驱动程序,包括:S3,Rackspace,FTP等。

如果要支持Scaleway,则需要编写自定义驱动程序,您可以阅读有关它的更多信息here

编辑:从documentation of Scaleway看来,它支持AWS CLI客户端,这意味着在FlySytem中添加对它的支持应该很容易。我尝试了以下方法,它奏效了。

我在config/filesystems.php中添加了一个新驱动程序,如下所示:

'scaleway' => [
    'driver' => 's3',
    'key' => '####',
    'secret' => '#####',
    'region' => 'nl-ams',
    'bucket' => 'test-bucket-name',
    'endpoint' => 'https://s3.nl-ams.scw.cloud',
]

然后,要使用磁盘,我做了以下操作:

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

我的文件已上传。

编辑:我也做了一个PR,以使Scaleway在League的FlySystem的适配器列表中被接受。它被合并了。您可以在线观看here