【问题标题】:List all Files in a S3 Directory with Zend Framework使用 Zend Framework 列出 S3 目录中的所有文件
【发布时间】:2011-12-23 06:27:57
【问题描述】:

我如何在 PHP 中列出存储桶的 Amazon S3 目录中的所有文件(并且可能使用 Zend 框架的帮助程序)?

【问题讨论】:

    标签: php zend-framework amazon-s3


    【解决方案1】:

    参见示例 #5:

    http://framework.zend.com/manual/en/zend.service.amazon.s3.html

    getObjectsByBucket($bucket) 返回对象键的列表, 包含在桶中。

    $s3 = new Zend_Service_Amazon_S3($my_aws_key, $my_aws_secret_key);
    
    $list = $s3->getObjectsByBucket("my-own-bucket");
    foreach($list as $name) {
      echo "I have $name key:\n";
      $data = $s3->getObject("my-own-bucket/$name");
      echo "with data: $data\n";
    }
    

    更新:

    amazon s3中的“Folders”是前缀,可以设置参数:

    prefix - Limits the response to keys which begin with the indicated prefix. You can use prefixes to separate a bucket into different sets of keys in a way similar to how a file system uses folders.
    

    参见 S3.php 的第 293 行

    【讨论】:

    • 我确实看到了这一点,但是如果我在一个存储桶中有数千个目录,那么通过真正的 each 目录的性能会非常糟糕。我想要已经有类似 s3->listFiles('my-own-bucket/directory1/directory2');
    • @dotwired 您可以使用参数设置要获取的文件夹,请参阅更新的答案
    猜你喜欢
    • 2017-02-16
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 2012-11-14
    • 2015-06-13
    相关资源
    最近更新 更多