2
我想从我的PHP服务器中获取我的Amazon S3存储桶中所有文件名的列表。亚马逊PHP sdk有可能吗?如果不是,还有其他方法吗?谢谢!如何使用AWS PHP sdk检索JSON中Amazon S3存储桶的内容?
我想从我的PHP服务器中获取我的Amazon S3存储桶中所有文件名的列表。亚马逊PHP sdk有可能吗?如果不是,还有其他方法吗?谢谢!如何使用AWS PHP sdk检索JSON中Amazon S3存储桶的内容?
使用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;
}
MaxKeys
被忽略。使用上述方法和下面的方法有什么区别。尽管我无法获得$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;
}
可能重复:http://stackoverflow.com/questions/3337912/quick-way-to-list-all-files-in-amazon-s3-bucket – Babblo