我真的不能回答PHP或狂饮的背景下,这个问题,但我可以提供云文件的一些信息和一些命令行卷曲的例子,可以帮助。
Rackspace的云文件并没有真正有“文件夹”内的容器的概念。您有以下几部分的URL: 的https:// {storage_endpoint}/{ACCOUNT_NAME}/{CONTAINER_NAME}/{} OBJECT_NAME
但是,您可以通过在名称创建一个与 “/” 字符的对象模仿文件夹。然后执行容器上市的时候,你可以设置“前缀”和“分隔符”查询字符串参数来模拟一个类似文件夹的行为。
例如,假设你做你的容器的列表,查看所有对象:
$ curl -i -XGET -H"x-auth-token: $AUTH_TOKEN" https://storage101.iad3.clouddrive.com/v1/$ACCOUNT_NAME/$CONTAINER_NAME
HTTP/1.1 200 OK
...
Date: Thu, 01 Dec 2016 02:16:53 GMT
foo/file1.txt
foo/bar/file2.txt
baz/file3.txt
baz/file4.txt
在这里,我们有一个名为“富/ FILE1.TXT”四个对象,“富/酒吧/ FILE2.TXT “,”baz/file3.txt“和”baz/file4.txt“。
测试文件夹“富”的存在,最简单的方法是设置前缀为“富/”和分隔符“/”如下:
$ curl -i -XGET -H"x-auth-token: $AUTH_TOKEN" https://storage101.iad3.clouddrive.com/v1/$ACCOUNT_NAME/$CONTAINER_NAME?prefix=foo/&delimiter=/
HTTP/1.1 200 OK
...
Date: Thu, 01 Dec 2016 02:16:45 GMT
foo/file1.txt
foo/bar/file2.txt
正如你所看到的,如果该前缀存在任何对象,则返回HTTP 200以及与该前缀匹配的对象列表。如果该前缀不存在对象,则“文件夹”不存在,并且将返回HTTP 204。
如果您现在想要测试“foo”中的“子文件夹”,只需执行另一个容器列表,将前缀更改为“foo/bar /”并保留“/”的分隔符。
此外,如果您要创建一个文件夹“images”并且它包含“cat.jpg”,则不需要先创建文件夹,只需创建一个名为“images/cat.jpg”的对象包含cat.jpg的数据。
您可以找到有关Rackspace公司云文件和伪层次的文件夹位置的更多信息:
谢谢,它帮了我很多.. –