Frage

Ich möchte Folgendes erhalten HTTP Anfrage 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--

(Notiz:Ich habe die Unterabschnitte nur eingerückt, um sie für diesen Beitrag besser lesbar zu machen.)

Ich beherrsche PHP nicht sehr gut und würde gerne Hilfe/Hinweise erhalten, um herauszufinden, wie ich diese Art von mehrteiligen Formularanforderungen in PHP-Code empfangen kann.Ich habe einmal Code geschrieben, in dem ich ein Standard-HTML-Formular erhielt und dann auf die Formularelemente zugreifen konnte, indem ich ihren Namen als Indexschlüssel im verwendete $HTTP_GET_VARS Array, aber in diesem Fall gibt es keine Formularelementnamen und die Formulardatenteile sind nicht linear (d. h.Unterteile = mehrstufiges Array).

Für jede Hilfe dankbar!

/Robert

War es hilfreich?

Lösung

$HTTP_GET_VARS, $HTTP_POST_VARS usw. ist ein veralteter Schreibweise, sollten Sie verwenden $_GET, $_POST, etc.

Nun sollten die Dateiinhalte in der $_FILES globalen Array sein, während, wenn es keine Elementnamen sind, ich bin nicht sicher, ob der Rest des Inhalts in $_POST auftauchen wird. Wie auch immer, wenn always_populate_raw_post_data Einstellung ist wahr php.ini , sollten die Daten in $HTTP_RAW_POST_DATA sein. Auch sollte die ganze Anfrage angezeigt, wenn das Lesen php:. // input

Andere Tipps

Sie sollten Folgendes beachten:

„php://input ermöglicht es Ihnen, rohe POST-Daten zu lesen.Es ist eine weniger speicherintensive Alternative zu $HTTP_RAW_POST_DATA und benötigt keine speziellen php.ini-Anweisungen.php://input ist mit enctype=“multipart/form-data“ nicht verfügbar

Aus dem PHP-Handbuch...es scheint also, dass php://input nicht verfügbar ist

Ich kann noch keinen Kommentar abgeben, aber dies soll die Antwort von Pilsetniek ergänzen

Uploadeds Dateien die $ zugänglich durch _file globale Variable sein wird, werden andere Parameter zugänglich Trog die $ _GET globale Variable.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top