如何使用 AWS PHP 开发工具包在 JSON 中检索 Amazon S3 存储桶的内容


How to retrieve contents of Amazon S3 bucket in JSON using the AWS PHP sdk?

我想从我的 PHP 服务器获取我的 Amazon S3 存储桶内所有文件名的列表。这在 Amazon PHP sdk 上可能吗?如果没有,还有别的办法吗?谢谢!

使用适用于 PHP v2 的官方 AWS 开发工具包,您可以执行以下操作:

<?php
require 'vendor/autoload.php';
use Aws'Common'Aws;
// Instantiate an S3 client
$s3 = Aws::factory('/path/to/config.php')->get('s3');
$objects = $s3->getIterator('ListObjects', array(
    'Bucket' => $bucket
));
foreach ($objects as $object) {
    echo $bucket['Name'] . '/' . $object['Key'] . PHP_EOL;
}
  1. 它对我来说工作正常,除了MaxKeys被忽略了。
  2. 使用上述方法和以下方法有区别吗?虽然我无法在$result内找到数组元素.

    use Aws'Common'Aws;
    use Aws'S3'S3Client;
    // Prepare S3 Client to speak with AWS
    $s3client;
    $s3client = S3Client::factory(array(
        'key' => '',
        'secret' => '',
        'region' => Region::US_EAST_1
    ));
    // List objects from a bucket
    $result = $s3client->listObjects(array(
        'Bucket' => $aws_bucket,
        'MaxKeys' => 25,
        'Marker' => 'docs/'
    ));
    $objects = $result->getIterator();
    foreach ($objects as $wo)
    {
        // Prints junk
        echo $wo['Key'] . ' - ' . $wo['Size'] . PHP_EOL;
    }