Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich auf POST-Rohdaten aus Multipart-/Formulardatenanfragen in PHP zugreifen?
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:
<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>
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!