简体   繁体   English

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

[英]In codeigniter get file list from Amazon s3 bucket

I have an amazon s3 bucket that has 20+ records in it. 我有一个亚马逊s3存储桶,其中有20多个记录。 How to get all file names with pagination support using PHP codeigniter. 如何使用PHP codeigniter获得具有分页支持的所有文件名。

Thanks in advance! 提前致谢!

First you need to get all object by listObjects 首先,您需要通过listObjects获取所有对象

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

]);

it will return array of objects and with links( if your bucket is public than you can open those link else you need to use signed url or cloudfront ) 它将返回带有链接的对象数组(如果您的存储桶是公共的,则可以打开那些链接,否则您需要使用签名的url或cloudfront)

And i would simply suggest you to use dataTable (it has pagination, Search ) and your record is not like 30-40k so it will work fine 我只是建议您使用dataTable(它具有分页,Search),并且您的记录不是30-40k,因此可以正常工作

As you have asked you can bucket object list by passing key and secret in constructor, i am using aws phpsdk v3 正如您所要求的,您可以通过在构造函数中传递键和秘密来存储对象列表,我正在使用aws phpsdk v3

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

Now just 现在就

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

   ]);

That's it you got array of all object in your bucket 就这样,您的存储桶中包含了所有对象的数组

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM