适用于 PHP 的 AWS S3 开发工具包,上传到存储桶内的文件夹


AWS S3 SDK for PHP, Uploading to folders inside a bucket

>我刚刚开始使用适用于 PHP 的 AWS S3 开发工具包,我已经设法使用 PHP 将一个项目文件夹从我的 PC 上传到 s3 存储桶,有没有办法在该存储桶中指定一个文件夹,例如,不是将图像.jpg上传到 imagebucket,而是上传到"imagebucket"中名为图像的文件夹。

aws s3 中没有文件夹的概念。它仅用于亚马逊AWS UI使用的显示目的。

实际上,它将文件名存储为键,并将数据存储为值。

如果您使用不同的文件夹存储 5 个文件,它们不会创建 5 个文件夹。

从文档中:

public function uploadDirectory($directory, $bucket, $keyPrefix = null, array $options = array())

通过指定$keyPrefix,您可以将上传的对象放置在 Amazon S3 存储桶中的虚拟文件夹下。例如,如果$bucket名称为 my-bucket,$keyPrefix为 "testing/",则您的文件将上传到 testing/虚拟文件夹下的 my-bucket:https://my-bucket.s3.amazonaws.com/testing/filename.txt

请参阅:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-s3.html#uploading-a-directory-to-a-bucket