2

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

但是,如果我尝试获取一个对象列表,$container->objectList($options)它不会列出像[content_type] => application/directory. 但是当我使用 Cyber​​duck 时它确实如此。

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

4

2 回答 2

0

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

于 2014-07-11T23:49:24.620 回答
0

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

$container = $objectStoreService->getContainer('container-name');
$container->uploadObject('folder-path-and-name-to-create', '', array('Content-Type' => 'application/directory'));
于 2021-02-08T19:24:47.573 回答