我想从我的 PHP 服务器获取我的 Amazon S3 存储桶内所有文件名的列表。这在 Amazon PHP sdk 上可能吗?如果没有,还有别的办法吗?谢谢!
使用适用于 PHP v2 的官方 AWS 开发工具包,您可以执行以下操作:
<?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; }