如何通过PHP SDK在Amazon S3存储桶下创建文件夹?

时间:2012-09-06 01:08:56

标签: php amazon-s3 amazon

我正在开发一款iPhone应用,允许用户上传照片并分享。我想使用S3来存储上传的图像以及处理过的图像(例如,缩略图,缩小图像)。我在我的EC2实例上安装了AWS PHP SDK,我的问题是: 1)从iPhone应用程序上传的照片首先要转到EC2目录,然后复制到S3存储桶,还是应该直接上传到S3? 2)如何通过PHP SDK在S3存储桶下创建不同的文件夹以及如何从文件夹中读取文件?

提前致谢!

2 个答案:

答案 0 :(得分:23)

,可以使用s3 sdk创建新文件夹。

尝试下面的代码

<?php

 /* abc is the folder name */

 $s3->putObject(array( 
                   'Bucket' => $bucket,
                   'Key'    => "abc/",
                   'Body'   => "",
                   'ACL'    => 'public-read'
                  ));

答案 1 :(得分:9)

  1. 答案可以在这里找到: Direct upload to s3 without the use of a production server

  2. 我从未使用过PHP SDK,但我正在浏览AWS SDK for PHP 1.5.14 documentation 并且遇到了您需要使用的以下API:

    a)create_object:您将使用此功能将对象放入存储桶中。您将指定文件名。您询问了如何创建不同的文件夹:您将包含文件名的完整路径。例如,不是命名文件“photo1.jpg”,而是将其命名为“user1 / vacation / photo1.jpg”。

    b)get_object_list:此API将根据某些条件返回给您一个对象列表。如果要读取特定文件夹中的所有对象,请将前缀指定为文件夹的路径。例如,如果我想查找文件夹“user1 / vacation /”中的所有文件,我会将我的前缀指定为“user1 / vacation /".