Heim > Artikel > Backend-Entwicklung > Wie greife ich in PHP auf POST-Rohdaten aus Multipart-/Formulardatenanfragen zu?
So erhalten Sie rohe Postdaten für mehrteilige/Formulardaten-POST-Anfragen
Trotz der Einschränkungen von php://input und $ HTTP_RAW_POST_DATA Bei der Verarbeitung von Multipart-/Formulardaten-POST-Anfragen gibt es eine Problemumgehung.
Laut dem PHP-Handbuch „ermöglicht php://input den Zugriff auf rohe POST-Daten und bietet eine speichereffizientere Alternative zu $HTTP_RAW_POST_DATA.“ Es ist jedoch wichtig zu beachten, dass php://input für Anfragen mit enctype="multipart/form-data" nicht verfügbar ist.
Um diese Einschränkung zu überwinden, besteht eine clevere Lösung darin, die Anfrageheader zu manipulieren. Durch das Hinzufügen einer bestimmten Konfiguration zur Apache-Konfiguration können Sie eingehende Multipart-/Formulardaten-Anfragen abfangen und deren Inhaltstyp in „Multipart/Form-Data-Alternative“ ändern. Dieser Schritt verhindert effektiv, dass PHP versucht, die Daten zu analysieren.
Anschließend gewährt die Verwendung von php://input Zugriff auf die Rohdaten und ermöglicht so eine benutzerdefinierte Analyse. Dieser Ansatz ermöglicht es Entwicklern, Daten aus mehrteiligen/Formulardatenformularen effizient zu verarbeiten, ohne auf die integrierten Parsing-Mechanismen von PHP angewiesen zu sein.
Es ist wichtig zu beachten, dass die Verwendung dieser Problemumgehung dazu führt, dass $_FILES leer wird, wie dies bei PHP der Fall ist Versuchen Sie nicht, Datei-Uploads zu verarbeiten. Dennoch bleibt es eine praktikable Lösung für Situationen, in denen eine direkte Analyse von Multipart-/Formulardaten erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie greife ich in PHP auf POST-Rohdaten aus Multipart-/Formulardatenanfragen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!