【问题标题】:Need PHP help assigning a piece of data from an Amazon S3 query to a variable需要 PHP 帮助将一条数据从 Amazon S3 查询分配给一个变量
【发布时间】:2011-09-07 17:50:50
【问题描述】:

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

$s3 = new AmazonS3();

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

print_r($response->body);

我不想使用“print_r”部分。

$response 似乎是一个包含一堆东西的数组: 密钥、LastModified、ETag、大小、所有者

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

[Key] => myfolder/myfile.pdf

我需要的是:

myfolder/myfile.pdf

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:
        foreach ($response->body as $key => $haasfilepath)
        {
         echo 'value for key ', $key, ' is ', $haasfilepath, '<br>';
        }
        

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-10-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-05
          • 1970-01-01
          • 2019-06-02
          相关资源
          最近更新 更多