需要PHP帮助将Amazon S3查询中的一段数据分配给变量

时间:2011-09-07 17:50:51

标签: php arrays amazon-s3 amazon-web-services amazon

我正在使用AWS PHP SDK以及下面列出的代码返回与我的Amazon S3服务上的文件夹关联的对象列表:

$s3 = new AmazonS3();

$response = $s3->list_objects($bucket, array(
    'prefix' => 'myfolder/'
));

print_r($response->body);

我不想使用“print_r”部分。

$ response似乎是一个包含大量内容的数组: Key,LastModified,ETag,Size,Owner

PHP代码看起来会循环$ response并将其中一个位分配给变量。例如,$ response中的一个数据是“Key”,看起来像这样:

[Key] => myfolder/myfile.pdf

我需要的是:

myfolder/myfile.pdf

请提供我需要循环遍历$ response中的数据的代码,并将“KEY”的每个实例分配给名为:$ haasfilepath的变量。

谢谢!

3 个答案:

答案 0 :(得分:0)

自从我使用php以来已经有一段时间了,但如果我理解你的问题,这应该是有用的。 如果$ response是一个数组,每个元素包含匹配对象的关联数组。

$hassfilepath = Array();
    foreach($response as $element){
        $haasfilepath << $element[key];
    }

foreach将允许您遍历响应中返回的所有对象。然后在循环中将每个[Key]推送到$ haasfilepath的数组中。您现在有一个变量,其中包含返回的所有键的数组。

答案 1 :(得分:0)

foreach ($response->body as $key => $haasfilepath)
{
 echo 'value for key ', $key, ' is ', $haasfilepath, '<br>';
}

或者,如果您只需要密钥“key”:

$haasfilepath = $response->body['key'];
echo $haasfilepath;

答案 2 :(得分:0)

据我所知,响应将是一个XML文件(不是数组名称 - 值对),您必须解析XML文件。尝试在php中解析XMl文件中的xpath和类似方法。