2013-02-18 2 views
0

код ссылкиКак скопировать файл из одного места в контейнере Rackspace Cloud Files с их PHP API

$this->cf_container->copy_object_to($file, $this->cf_container, $new_path . '/' . $file_subpath); 

где $ this-> cf_container является объектом класса CF_Container, я получаю эту ошибку:

«Указанный объект« Случайный контейнер/один/pow/whiskey.jpg »не существует в качестве источника для копирования или« Случайный контейнер »не существует в качестве цели для копирования».

Название контейнера, очевидно, является «Случайным контейнером». Я пробовал это с контейнером, который не содержит пробелов с тем же эффектом.

Если я делаю $ this-> cf_container-> get_object ($ file), я получаю объект CF_Object со свойствами файла, поэтому он существует.

$ файла равен "один/Пау/whiskey.jpg" $ new_path равно "один/different_folder" $ file_subpath равно "whiskey.jpg"

Кто-нибудь есть ключ или имеет столкнулись с этим раньше?

+0

Если вы уверены, что файлы и папки существуют, возможно, это проблема с разрешениями. Возможно, вам придется использовать chmod для предоставления разрешений на чтение – rnirnber

ответ

1

Возможно, вы захотите попробовать новый Rackspace PHP SDK (aka php-opencloud). В конечном итоге файлы php-cloud будут устаревать.

Чтобы скопировать объект в php-opencloud, зарегистрируйтесь DataObject::Copy. Если у вас возникли проблемы, вы можете указать проблемы here.

+0

Hey Everett - это выглядит довольно хорошо, но я не могу позволить себе 5.3 требования PHP. Есть ли способ скопировать объект из одного места в другое в контейнере с php-cloudfiles? –

+0

Everett, я связался с отличной поддержкой Rackspace, и они отследили его до косой черты с двойным кодированием. Спасибо, что подтолкнул меня в правильном направлении! –