S3 PHP 开发工具包错误未定义方法错误


S3 PHP SDK Error undefined method error

我正在尝试列出我的 S3 存储桶中的文件,但在运行此代码时不断收到 PHP 错误:

require_once './S3.php';
define('awsAccessKey', 'xxx');
define('awsSecretKey', 'xxx');
$s3 = new S3(awsAccessKey, awsSecretKey);
$objects = $s3->list_objects("BUCKETNAME",array("max-keys"=>5));
foreach ($objects->body->Contents as $item){
    print_r($item->Key."");
}

我得到:

PHP Fatal error:  Call to undefined method S3::list_objects()

谷歌没有帮助我。我可以将文件放入我的存储桶中,但无法列出它们。有什么想法吗?

嗯,显而易见的答案是(第三方;不是来自亚马逊的)S3类没有list_objects()方法。

但是,此类确实有一个可能执行相同操作的getBucket()方法。

如果您打算使用适用于 PHP 1.x 的官方 AWS 开发工具包,请查看AmazonS3::list_objects()方法。

如果您想使用当前和支持的内容(即适用于 PHP 2.x 的 AWS 开发工具包),请查看S3Client::listObjects()方法。

我正在使用这个库 https://github.com/aws/aws-sdk-php。正确维护的源。

您正在寻找的函数可以使用此库调用S3->listObjects()