У меня возникают проблемы с перечислением всех файлов в определенном префиксе 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' ...
и даже при попытке другого метода просто ListObjects
или же ListObjectsV2
(нашел эту информацию). Первый работает, но опять-таки не перечисляет никаких файлов, а второй метод не найден.
$s3Client->ListObjects(array( ...
$s3Client->ListObjectsV2(array( ...
Без сомнения, я что-то упустил. Все, чего я хочу добиться, — это список имен всех файлов в каждой из папок / префиксов, так что я могу перечислить их и использовать некоторые умные jQuery, чтобы добавить их в документ, когда они выбраны в нашей CMS, конечно, должна быть дополнительная информация об этом где-то!!!
Любая помощь приветствуется.
print_r($objects)
возвращает: http://pastebin.com/YwWLLsSK
Вам не хватает самого важного ключа для установки, который является
как это
// ‘ap-southeast-1’ для азиатского региона
'region' => 'ap-southeast-1',
Других решений пока нет …