使用AWS PHP SDK

时间:2017-01-30 12:07:19

标签: php amazon-web-services amazon-s3 sdk buckets

我遇到了一些麻烦,列出了AWS S3 Bucket的某个前缀中的所有文件。

我搜索过并搜索过,但似乎只能找到相同的信息:

try {
$objects = $s3Client->getIterator('ListObjects', array(
    'Bucket' => 'BUCKETNAME',
    'Prefix' => '/uploads/content/document/'
));
    foreach ($objects as $object) {
        echo $object['Key'] . "\n";
    }
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}

如果我print_r($objects),这将返回相当多的信息,但是,循环中没有任何回声,无论我尝试什么,我似乎都无法列出任何文件

我实际上还有另外6个文件夹,我想从中检索文件列表,但是,显然现在需要让它只使用document

我尝试删除前缀上的最终/,以及使用“listObjects”:

$s3Client->getIterator('listObjects' ...

甚至尝试使用ListObjectsListObjectsV2的其他方法(找到此信息)。第一个工作,但再次没有列出任何文件,第二个方法找不到。

$s3Client->ListObjects(array( ...
$s3Client->ListObjectsV2(array( ...

毫无疑问,我错过了一些东西。我想要实现的是每个文件夹/前缀中的所有文件名列表,所以我可以列出这些文件并使用一些聪明的jQuery在我们的CMS中选择时将它们添加到文档中,确定应该有更多信息某处!!!

非常感谢任何帮助。

print_r($objects)返回:http://pastebin.com/YwWLLsSK

1 个答案:

答案 0 :(得分:1)

您缺少最重要的设置键

像这样                 //' ap-southeast-1'对于亚洲地区

            'region'  => 'ap-southeast-1',