Sto scrivendo un'API RESTful. Ho problemi con il caricamento di immagini usando i diversi verbi.Dati modulo multipart PHP Richiesta PUT?
Considerate:
Ho un oggetto che può essere creato/modificato/cancellato/consultati tramite un post/put/cancellare/ottenere richiesta a un URL. La richiesta è in più parti quando c'è un file da caricare, o application/xml quando c'è solo un testo da elaborare.
per gestire il caricamento delle immagini che sono associati con l'oggetto che sto facendo qualcosa di simile:
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');
}
Il problema principale qui è quando si cerca di gestire una richiesta put, ovviamente $ _POST non contiene il put dati (per quanto posso dire!).
Per riferimento questo è come mi sto costruendo le richieste:
curl -F [email protected]/image.png -F xml="<xml><object>stuff to edit</object></xml>"
http://example.com/object -X PUT
Qualcuno ha qualche idea come posso accedere alla variabile xml
nella mia richiesta PUT?
Grazie, questo è più carichi utili :) – Josh
"Prima di tutto, $ _FILES non viene popolato durante la manipolazione richieste PUT. E 'popolato solo da PHP durante la manipolazione richieste POST." Non riesci a trovare la documentazione su questo, puoi indicarmi la giusta direzione? – WDRust
@ M.Ang .: [Qui] (http://php.net/manual/en/features.file-upload.post-method.php): "PHP supporta anche i caricamenti di file PUT-metodo utilizzati da Netscape Composer e dai client Amaya di W3C. Consulta il [Supporto metodo PUT] (http://php.net/manual/en/features.file-upload.put- method.php) per maggiori dettagli. " – netcoder