Api Rackspace云文件PHP在;“根级别”;

Api Rackspace云文件PHP在;“根级别”;,api,rackspace-cloud,cloudfiles,Api,Rackspace Cloud,Cloudfiles,我一直在试图找出如何获取根级别的文件,这意味着获取所有没有路径附加到文件名的文件。 我有一个像这样的容器 image.png image/png ui application/directory ui/css application/directory ui/css/test.css text/css ui/image2.jpg image/jpg 我在用电话 Container-&g

我一直在试图找出如何获取根级别的文件,这意味着获取所有没有路径附加到文件名的文件。 我有一个像这样的容器

image.png            image/png
ui                   application/directory
ui/css               application/directory
ui/css/test.css      text/css
ui/image2.jpg        image/jpg
我在用电话

Container->get_objects(0, null, null, 'ui/');
返回2个CF_对象:

ui/css
ui/image2.jpg
这是期望的输出

但是如果我请求“根级别”的文件

返回一个空数组

Container->get_objects(0, null, null, '');
返回容器中的所有文件

理想情况下,它将返回两个CF_对象image.png,和ui

有办法做到这一点吗


谢谢大家!

2011年11月15日的《云文件开发者指南》第20页说:

您还可以使用分隔符参数来表示嵌套目录 不需要目录标记对象的层次结构。你可以 使用任何单个字符作为分隔符。列表可以返回 虚拟目录-它们是虚拟的,因为它们实际上并不存在 表示真实对象。不过,就像目录标记一样,它们也会 具有应用程序/目录的内容类型并位于子目录中 json和xml结果部分

如果您有以下对象photos/photo1、photos/photo2, movieobject,容器中的videos/movieobj4,您的分隔符 使用斜杠(/)的参数查询将为您提供

  • 照片
  • 电影对象
  • 视频
PHP SDK中的get_对象不支持参数“delimiter”,使用它似乎是获取基本目录文件的唯一方法

当前github中存在一个问题[此请求已被添加到get_objects方法中

Rackspace Cloud Files API PHP SDK的其他用户也支持此参数

查看原始php cloudfiles repo是否得到更新,或者只是创建原始文件的分支并添加自己的代码,如果您不喜欢添加自己的更改,请克隆添加了分隔符参数的分支,如


答案中引用的合并请求是在2012年5月9日

$delimiter
添加了
获取对象的可选参数

但是,在代码中引入了一个错误,该错误错误错误地报告,如果试图使用任何可选参数,则未设置容器名称


更正此错误的请求。

Nice,不知道他们已经批准了合并请求:)如果您真的厌倦了使用它,那么引入了一个错误太糟糕了!这里有一个修正:很高兴知道,我还没有更新到最新版本。但我会密切关注这个请求,并在它被接受时得到它。到目前为止,下面的请求对我们非常有效。
Container->get_objects(0, null, null, '');