在codeigniter中从Amazon s3存储桶获取文件列表

时间:2015-11-02 05:14:36

标签: php codeigniter amazon-s3

我有一个亚马逊s3桶,其中有20多条记录。如何使用PHP codeigniter获取具有分页支持的所有文件名。

提前致谢!

1 个答案:

答案 0 :(得分:2)

首先,您需要通过listObjects获取所有对象

$result = $s3->listObjects([
    'Bucket' => 'your-bucket-name'

]);

它将返回对象数组和链接(如果您的存储桶是公共的,则可以打开这些链接,否则您需要使用签名网址或云端)

我只是建议你使用dataTable(它有分页,搜索),你的记录不像30-40k所以它会正常工作

如你所知,你可以通过在构造函数中传递密钥和秘密来存储对象列表,我使用的是aws phpsdk v3

  s3 = new Aws\S3\S3Client([
        'version' => 'latest',
        'region' => 'us-west-2',
        'credentials.ini' => [
            'key' => $credentials['key'],
            'secret' => $credentials['secret'],
        ],
   ]);

现在只是

  $result = $s3->listObjects([
       'Bucket' => 'your-bucket-name'

   ]);

你的桶中有所有对象的数组