我工作的公司将来自客户的处理过的文件存储在服务器上,并为每个客户提供一个简单的页面,其中包含到服务器上文件目录的链接。每个客户端都有一个文件夹,这些文件夹中的任何一个都可能有许多子文件夹。
我最近把这个设置移到了亚马逊的S3存储桶上。我的问题是,当我检索存储桶的内容时(使用我在网上找到的一个S3 php类),它会返回一个包含整个存储桶内容的大型平面数组。我可以对此进行过滤,使每个客户端只能看到他们的目录,但将这种分层数据结构转换为稍后显示是一件非常痛苦的事情。
是否有函数以某种方式返回反映其结构的S3项?如果不是,这可能会变成一个关于从平面数组的大型数组中生成多维数组的问题。
谢谢!克里斯
发布于 2013-03-10 21:36:29
S3支持使用前缀和分隔符分层列出关键字,有关更多信息,请参阅docs。
发布于 2013-03-14 20:52:31
使用前缀和分隔符获取文件列表。
<?php
$prefix = "jsondata/$folderName/$subFolderName/temp/";
//$bucketname is a root bucket name
$ret = $s3->getObjectsByBucket($bucketname, array(
'prefix' => $prefix,
'delimiter' => ''
));
?>https://stackoverflow.com/questions/15287864
复制相似问题