Ricezione di richieste di dati POST multipart in PHP

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.