使用laravel将文件存储到aws s3
问题描述:
请给我一个例子,将文件存储到laravel 5.5中的AWS S3。 我已经使用AWS凭证配置了文件系统文件。使用laravel将文件存储到aws s3
只见功能
Storage::put('file.jpg', $contents);
,但不知道是什么,第二个参数是
filesystem.php文件被作为
return [
'default' => env('FILESYSTEM_DRIVER', 'local'),
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
'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' => '*********',
'secret' => '******',
'region' => 'my region',
'bucket' => 'bucketname',
],
],
];
感谢如下内容提前
答
有一个很好的例子在Laravel documentation:
Storage::disk('s3')->put('avatars/1', $fileContents);
的第二个参数是为文件内容,所以在现实生活中它可能看起来像这样:
Storage::disk('s3')->put('file.jpg', file_get_contents('your_local_file.jpg');
我们展示的内容你的'filesystems.php' –
第二个参数是实际该文件的原始内容(字符串)或它是一个PHP资源(例如一个文件流句柄)。 [文档](https://laravel.com/docs/5.5/filesystem)确实这么说。 – apokryfos
更新了有问题的文件系统内容,请给我举个例子 –