我有一个亚马逊s3桶,其中有20多条记录。如何使用PHP codeigniter获取具有分页支持的所有文件名。
提前致谢!
答案 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'
]);
你的桶中有所有对象的数组