2

我正在使用 1.7 版的 php-opencloud

这是我的代码的一部分。

$cloud = new Rackspace(RACKSPACE_US, $credentials);
$storage = $cloud->objectStoreService('cloudFiles', 'SYD','publicURL');
$container = $storage->getContainer('testing');

$gz_file = 'test.tar.gz';

$storage->bulkExtract('', $gz_file);

此代码正在工作问题是当它仅提取第一级目录时正确提取,在其中所有目录名称与文件名连接..它没有为每个目录创建一个目录。我确定我在这里遗漏了一些东西。

请看截图:http: //i.stack.imgur.com/nfXlU.png

4

1 回答 1

5

正确,您所看到的是预期的行为。Cloud Files 没有嵌套目录的概念(即只有一个顶层容器)。但是,您可以通过在对象名称中添加分隔符(如“/”)来模拟层次结构,就像在屏幕截图中一样。

因此,如果您的存档具有嵌套结构,则每个文件路径在上传之前都会被展平为一个字符串,并且该字符串用作对象名称。

根据php-opencloud docs,如果您省略容器名称(就像您在示例中所做的那样),则将根据存档中的文件名创建容器。

于 2013-11-06T16:41:15.190 回答