无法在虚拟目录之间复制CloudFiles

无法在虚拟目录之间复制CloudFiles,cloud,rackspace,cloudfiles,Cloud,Rackspace,Cloudfiles,我尝试使用以下方法复制位于容器上的两个文件 CF_container->copy_object_to('th/image_a.jpg',Object(CF_container),'th/image_a_copy.jpg') 但是当我试图复制一个存在的文件时,我收到了这个消息 Specified object 'container_name/th/image_a.jpg' did not exist as source to copy from or 'container_name' di

我尝试使用以下方法复制位于容器上的两个文件

CF_container->copy_object_to('th/image_a.jpg',Object(CF_container),'th/image_a_copy.jpg')
但是当我试图复制一个存在的文件时,我收到了这个消息

Specified object 'container_name/th/image_a.jpg' did not exist as source to copy from or 'container_name' did not exist as target to copy to.
我做错了什么?这个操作是不可能的吗?不允许此操作


感谢您的回答。

看起来您正在使用php cloudfiles中的SDK。可以在github上找到copy_object_to函数

那个图书馆已被弃用,取而代之的是。可以找到文档

复制对象时要使用的新函数是DataObject::Copy,可以找到它

使用php opencloud库制作云文件对象副本的编程逻辑如下所示:

// we must include this file
require_once "php-opencloud.php";

define('AUTHURL', RACKSPACE_US);

// create new Rackspace connection
$connection = new \OpenCloud\Rackspace(AUTHURL,
                array('username' => USERNAME, 'apiKey' => APIKEY));

// connect to ObjectStore
$object_store = $connection->ObjectStore();

// create a container named CONTAINER_NAME
$cont = $ostore->Container();
$cont->Create(array('name'=>CONTAINER_NAME));

// create an object in that container
$obj = $cont->DataObject();
$obj->Create(array('name' => 'test_obj', 'content_type' => 'text/plain'), __FILE__);

// copy it to another object
$target = $cont->DataObject();
$target->name = $obj->Name().'-COPY';
$obj->Copy($target);

如果无法升级到使用php opencloud库,则可能是其他用户遇到了类似的问题,并跟踪到了双编码斜杠。

可能是使用php cloudfiles中的SDK。可以在github上找到copy_object_to函数

那个图书馆已被弃用,取而代之的是。可以找到文档

复制对象时要使用的新函数是DataObject::Copy,可以找到它

使用php opencloud库制作云文件对象副本的编程逻辑如下所示:

// we must include this file
require_once "php-opencloud.php";

define('AUTHURL', RACKSPACE_US);

// create new Rackspace connection
$connection = new \OpenCloud\Rackspace(AUTHURL,
                array('username' => USERNAME, 'apiKey' => APIKEY));

// connect to ObjectStore
$object_store = $connection->ObjectStore();

// create a container named CONTAINER_NAME
$cont = $ostore->Container();
$cont->Create(array('name'=>CONTAINER_NAME));

// create an object in that container
$obj = $cont->DataObject();
$obj->Create(array('name' => 'test_obj', 'content_type' => 'text/plain'), __FILE__);

// copy it to another object
$target = $cont->DataObject();
$target->name = $obj->Name().'-COPY';
$obj->Copy($target);

如果无法升级到使用php opencloud库,则可能是其他用户遇到了类似的问题,并跟踪到了双编码斜杠。

可能是使用php cloudfiles中的SDK。可以在github上找到copy_object_to函数

那个图书馆已被弃用,取而代之的是。可以找到文档

复制对象时要使用的新函数是DataObject::Copy,可以找到它

使用php opencloud库制作云文件对象副本的编程逻辑如下所示:

// we must include this file
require_once "php-opencloud.php";

define('AUTHURL', RACKSPACE_US);

// create new Rackspace connection
$connection = new \OpenCloud\Rackspace(AUTHURL,
                array('username' => USERNAME, 'apiKey' => APIKEY));

// connect to ObjectStore
$object_store = $connection->ObjectStore();

// create a container named CONTAINER_NAME
$cont = $ostore->Container();
$cont->Create(array('name'=>CONTAINER_NAME));

// create an object in that container
$obj = $cont->DataObject();
$obj->Create(array('name' => 'test_obj', 'content_type' => 'text/plain'), __FILE__);

// copy it to another object
$target = $cont->DataObject();
$target->name = $obj->Name().'-COPY';
$obj->Copy($target);

如果无法升级到使用php opencloud库,则可能是其他用户遇到了类似的问题,并跟踪到了双编码斜杠。

可能是使用php cloudfiles中的SDK。可以在github上找到copy_object_to函数

那个图书馆已被弃用,取而代之的是。可以找到文档

复制对象时要使用的新函数是DataObject::Copy,可以找到它

使用php opencloud库制作云文件对象副本的编程逻辑如下所示:

// we must include this file
require_once "php-opencloud.php";

define('AUTHURL', RACKSPACE_US);

// create new Rackspace connection
$connection = new \OpenCloud\Rackspace(AUTHURL,
                array('username' => USERNAME, 'apiKey' => APIKEY));

// connect to ObjectStore
$object_store = $connection->ObjectStore();

// create a container named CONTAINER_NAME
$cont = $ostore->Container();
$cont->Create(array('name'=>CONTAINER_NAME));

// create an object in that container
$obj = $cont->DataObject();
$obj->Create(array('name' => 'test_obj', 'content_type' => 'text/plain'), __FILE__);

// copy it to another object
$target = $cont->DataObject();
$target->name = $obj->Name().'-COPY';
$obj->Copy($target);
如果无法升级到使用php opencloud库,则可能是其他用户遇到了类似的问题,并跟踪到了双编码斜杠