我有一个看起来像这样的文件名数组
array (
'file1.jpg',
'file2.jpg',
'file3.jpg'
)
我正在尝试遍历它们并将它们上传到这样的S3存储桶..
foreach ($filenames as $filename) {
Storage::disk('s3')->put(
/* S3 */
's3foldername/' . $foldername . '/' . $filename,
/* Local Storage */
storage_path('localfolder/' . $foldername . '/' . $filename),
'public'
);
}
由于某种原因这不起作用,所有路径都可以检查出来。我是否需要先阅读文件内容?
答案 0 :(得分:0)
Storage :: put()方法将文件内容或资源句柄作为其第二个参数 - 请参阅此处的文档:{ {3}}
在您的情况下,以下应该可以解决问题:
Storage::disk('s3')->put(
's3foldername/' . $foldername . '/' . $filename,
file_get_contents(storage_path('localfolder/' . $foldername . '/' . $filename)),
'public'
);
这只是其中一个选项 - 请参阅相关文档。