Domanda

Desidero ricevere i seguenti HTTP richiesta 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:Io sono rientrato il sub-solo parti per renderlo più leggibile per questo post.)

Io non sono molto fluente in PHP e vorrei avere un aiuto/consigli per capire come ricevere questo tipo di form multipart richiesta nel codice PHP.Ho una volta scritto il codice, dove ho ricevuto un standard form HTML e quindi ho potuto accedere al modulo elementi utilizzando il loro nome come chiave di indice in $HTTP_GET_VARS array, ma in questo caso non ci sono nessun elemento del modulo di nomi, e i dati del form parti non lineare (es.sotto parti = multilivello array).

Grato per qualsiasi aiuto!

/Robert

È stato utile?

Soluzione

$HTTP_GET_VARS, $HTTP_POST_VARS, etc.è obsoleti, notazione, si dovrebbe essere utilizzando $_GET, $_POST, etc.

Ora, il contenuto del file deve essere in $_FILES matrice globale, considerando che, se non ci sono i nomi degli elementi, io non sono sicuro circa il fatto che il resto del contenuto, la mostra di $_POST.Comunque, se always_populate_raw_post_data l'impostazione è vero in php.ini, i dati dovrebbero essere in $HTTP_RAW_POST_DATA.Inoltre, la richiesta di tutto deve essere mostrato durante la lettura php://ingresso.

Altri suggerimenti

Si dovrebbe notare:

“php://input consente di leggere i raw POST dati.Si tratta di una minore quantità di memoria per la cpu alternativa a $HTTP_RAW_POST_DATA e non ha bisogno di alcun php.ini direttive.php://ingresso non è disponibile con enctype=”multipart/form-data”

Dal manuale di php...così sembra php://ingresso non è disponibile

Non commento ancora, ma questa è intened per completare pilsetnieks risposta

Uploadeds file saranno accessibili attraverso il $_FILE variabile globale, gli altri parametri saranno accessibili tramite $_GET variabile globale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top