Я пишу RESTful API. У меня возникают проблемы с загрузкой изображений с использованием разных глаголов.
Рассмотрим:
У меня есть объект, который можно создать/изменить/удалить/просмотреть через запрос post/put/delete/get к URL. Запрос представляет собой многочастную форму, когда есть файл для загрузки, или application/xml, когда есть только текст для обработки.
Чтобы обрабатывать загружаемые изображения, связанные с объектом, я делаю что-то вроде:
if(isset($_FILES['userfile'])) {
$data = $this->image_model->upload_image();
if($data['error']){
$this->response(array('error' => $error['error']));
}
$xml_data = (array)simplexml_load_string( urldecode($_POST['xml']) );
$object = (array)$xml_data['object'];
} else {
$object = $this->body('object');
}
Основная проблема здесь заключается в попытке обработать запрос put, очевидно, что $_POST не содержит данных put (насколько я могу судить!).
Для справки это то, как я строю запросы:
curl -F [email protected]/image.png -F xml="<xml><object>stuff to edit</object></xml>"
http://example.com/object -X PUT
Есть ли у кого-нибудь идеи, как я могу получить доступ к переменной xml
в моем запросе PUT?