【问题标题】:How to retrieve contents of Amazon S3 bucket in JSON using the AWS PHP sdk?如何使用 AWS PHP sdk 以 JSON 格式检索 Amazon S3 存储桶的内容?
【发布时间】:2013-01-18 00:01:00
【问题描述】:

我想从我的 PHP 服务器获取我的 Amazon S3 存储桶中的所有文件名的列表。 Amazon PHP sdk 有可能吗?如果没有,还有其他方法吗?谢谢!

【问题讨论】:

标签: php json amazon-web-services amazon-s3


【解决方案1】:

使用official AWS SDK for PHP v2,您可以执行以下操作:

<?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;
}

【讨论】:

    【解决方案2】:
    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;
      }
      

    【讨论】:

      猜你喜欢
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 2012-02-14
      • 1970-01-01
      • 2017-02-12
      • 2022-01-11
      • 1970-01-01
      相关资源
      最近更新 更多