![](/img/trans.png)
[英]AWS s3 download all file inside a specific folder - Using PHP SDK
[英]List all files within a folder (prefix) inside an AWS S3 Bucket using the AWS PHP SDK
我在列出 AWS S3 存储桶的某个前缀内的所有文件时遇到了一些麻烦。
我搜索和搜索,但似乎只能找到相同的信息:
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' ...
甚至尝试使用ListObjects
或ListObjectsV2
的不同方法(找到此信息)。 第一个有效,但同样没有列出任何文件,第二个方法也没有找到。
$s3Client->ListObjects(array( ...
$s3Client->ListObjectsV2(array( ...
毫无疑问,我错过了一些东西。 我想要实现的只是每个文件夹/前缀中所有文件名的列表,所以我可以列出这些并使用一些聪明的 jQuery 在我们的 CMS 中选择时将它们添加到文档中,确保应该有更多关于此的信息某处!!!
任何帮助将非常感激。
print_r($objects)
返回: http : //pastebin.com/YwWLLsSK
您缺少最重要的键来设置哪个是
像这样//亚洲地区的'ap-southeast-1'
'region' => 'ap-southeast-1',
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.