Rackspace php-opencloud如何创建文件夹

时间:2014-07-10 11:42:02

标签: php directory rackspace php-opencloud

当我使用$container->uploadObjects($files)上传文件时,我可以在名称中包含目录路径以创建新文件夹。如果我使用Cyber​​duck,我可以看到新文件夹。

但是,如果我尝试使用$container->objectList($options)获取对象列表,则不会列出像[content_type] => application/directory这样的目录。但是当我使用Cyber​​duck时就会这样。

所以我的问题是,如何使用php-opencloud创建文件夹?

2 个答案:

答案 0 :(得分:0)

这与php-opencloud无关,但它是CloudFiles的限制。与AWS S3和其他分布式对象存储非常相似,您无法在存储桶中拥有目录。有些软件,比如Cyber​​duck,知道这一点,而是用层次结构重命名文件,并将这些层次结构显示为目录,即使它们都在容器的同一级别。有关详细说明,请查看此documentation

答案 1 :(得分:0)

晚了 6 年,但我只需要自己使用 PHP Opencloud 来做这件事,我想我会发布我的方法,因为您实际上可以创建不包含文件的文件夹。您只需要在上传时设置适当的内容类型:

$container = $objectStoreService->getContainer('container-name');
$container->uploadObject('folder-path-and-name-to-create', '', array('Content-Type' => 'application/directory'));