0

我工作的公司将来自其客户端的已处理文件存储在其服务器上,并为每个客户端提供一个简单的页面,该页面具有指向服务器上文件目录的链接。每个客户端都有一个文件夹,其中任何一个都可能有许多子文件夹。

我最近将此设置移至 Amazon S3 存储桶。我的问题是,当我检索存储桶的内容时(使用我在网上找到的 S3 php 类),它会返回存储桶全部内容的大量 FLAT 数组。我可以对其进行过滤,以便每个客户只看到他们的目录,但是将这种分层数据结构转换为以后显示被证明是一件非常痛苦的事情。

是否有任何函数以某种反映其结构的方式返回 S3 项目?如果不是这样,这可能会变成一个关于从一大堆平面数组中生成多维数组的问题。

谢谢!克里斯

4

2 回答 2

0

使用前缀和分隔符来获取文件列表。

    <?php        
    $prefix = "jsondata/$folderName/$subFolderName/temp/";
    //$bucketname is a root bucket name   
    $ret = $s3->getObjectsByBucket($bucketname, array(
        'prefix'    => $prefix,
        'delimiter' => ''
    ));
    ?>
于 2013-03-14T12:52:30.577 回答
0

S3 支持使用前缀和分隔符分层列出键,有关更多信息,请参阅文档

于 2013-03-10T13:36:29.083 回答