Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich auf POST-Rohdaten aus Multipart-/Formulardatenanfragen in PHP zugreifen?

Wie kann ich auf POST-Rohdaten aus Multipart-/Formulardatenanfragen in PHP zugreifen?

Linda Hamilton
Freigeben: 2024-11-26 15:01:10
Original
532 Leute haben es durchsucht

How Can I Access Raw POST Data from Multipart/Form-Data Requests in PHP?

Zugriff auf rohe Postdaten für Multipart-/Formulardatenanfragen

Während PHP Mechanismen wie php://input und $HTTP_RAW_POST_DATA zum Abrufen bietet Wenn Sie POST-Rohdaten verwenden, sind diese Methoden für mehrteilige/Formulardatenanfragen wirkungslos. Laut PHP-Handbuch:

"[...] php://input is not available with enctype="multipart/form-data"."

Lösung für Multipart /Form-Data Forms

Der Zugriff auf Rohdaten für solche Formulare erfordert eine Problemumgehung. Sie können es nicht direkt abrufen, da PHP es automatisch analysiert. Sie können jedoch den folgenden Hack anwenden:

  1. Ändern Sie Ihre Apache-Konfiguration:
<Location "/backend/XXX.php">
    SetEnvIf Content-Type ^(multipart/form-data)(.*) NEW_CONTENT_TYPE=multipart/form-data-alternate OLD_CONTENT_TYPE=
    RequestHeader set Content-Type %{NEW_CONTENT_TYPE}e env=NEW_CONTENT_TYPE
</Location>
Nach dem Login kopieren
  1. Dadurch wird der Inhaltstyp der an XXX gesendeten Anfragen geändert .php von multipart/form-data zu multipart/form-data-alternate. Dadurch wird verhindert, dass PHP die Daten automatisch analysiert.
  2. Lesen Sie die Rohdaten aus php://input. Sie können jetzt die Rohdaten abrufen und selbst analysieren.

Achtung:

Diese Problemumgehung löst zwar das Problem beim Abrufen der Rohdaten, führt jedoch zu einem leeres $_FILES-Array.

Das obige ist der detaillierte Inhalt vonWie kann ich auf POST-Rohdaten aus Multipart-/Formulardatenanfragen in PHP zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage