我正在使用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的变量。
谢谢!
答案 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和类似方法。