Voglio ricevere la seguente richiesta HTTP
in PHP:
Content-type: multipart/form-data;boundary=main_boundary --main_boundary Content-type: text/xml <?xml version='1.0'?> <content> Some content goes here </content> --main_boundary Content-type: multipart/mixed;boundary=sub_boundary --sub_boundary Content-type: application/octet-stream File A contents --sub_boundary Content-type: application/octet-stream File B contents --sub_boundary --main_boundary--
(Nota: ho indentato le sotto-parti solo per renderlo più leggibile per questo post.)
Non sono molto fluente in PHP e vorrei avere qualche aiuto / indicazioni per capire come ricevere questo tipo di richiesta di module multipart in codice PHP. Una volta ho scritto del codice where ho ricevuto un module HTML standard e quindi ho potuto accedere agli elementi del module usando il loro nome come chiave dell'indice $HTTP_GET_VARS
, ma in questo caso non ci sono nomi di moduli e le parti dei dati del module non sono lineari (cioè sotto parti = arrays multilivello).
Grato per qualsiasi aiuto!
/Roberto
$HTTP_GET_VARS
, $HTTP_POST_VARS
, ecc. È una notazione obsoleta, dovresti usare $_GET
, $_POST
, ecc.
Ora, il contenuto del file dovrebbe essere nell'arrays globale $_FILES
, mentre, se non ci sono nomi di elementi, non sono sicuro se il resto del contenuto verrà visualizzato in $_POST
. Ad each modo, se always_populate_raw_post_data
impostazione always_populate_raw_post_data
è vera in php.ini , i dati dovrebbero essere in $HTTP_RAW_POST_DATA
. Inoltre, l'intera richiesta dovrebbe apparire durante la lettura di php: // input .
Dovresti notare:
"Php: // input consente di leggere i dati POST non elaborati. È un'alternativa less intensiva della memory a $ HTTP_RAW_POST_DATA e non ha bisogno di direttive speciali su php.ini. php: // input non è disponibile con enctype = "multipart / form-data"
Da manuale php … quindi sembra php: // input non è disponibile
Non posso ancora commentare, ma questo è inteso a completare la risposta pilsetnieks
I file caricati saranno accessibili tramite la variabile globale $ _FILE, altri parametri saranno accessibili attraverso la variabile globale $ _GET.