File_get_contents("php://input") Vs $HTTP_RAW_POST_DATA: Abrufen von JSON-Anforderungsdaten
Beim Umgang mit JSON-Anforderungsdaten kommt es für Entwickler häufig vor stehen vor einem Dilemma zwischen der Verwendung von file_get_contents("php://input") und $HTTP_RAW_POST_DATA. In diesem Artikel werden die Vor- und Nachteile beider Methoden untersucht und eine Anleitung zur Auswahl gegeben, um optimale Ergebnisse zu erzielen.
file_get_contents("php://input")
file_get_contents („php://input“) ermöglicht den direkten Zugriff auf den Rohtext einer Anfrage. Es verbraucht weniger Speicher als $HTTP_RAW_POST_DATA und erfordert keine spezifischen php.ini-Anweisungen. Es ist jedoch nicht mit dem Enctype „multipart/form-data“ kompatibel.
$HTTP_RAW_POST_DATA
$HTTP_RAW_POST_DATA enthält den rohen Anforderungstext, einschließlich Formulardaten und hochgeladener Daten Dateien. Um es zu verwenden, muss man in php.ini „always_populate_raw_post_data“ auf -ON setzen. Diese Methode ist nur wirksam, wenn die Anfrage nicht „multipart/form-data“ ist.
Auswahl zwischen den Methoden
Wenn Sie hauptsächlich mit JSON-Daten arbeiten und dies tun Da keine Unterstützung für „multipart/form-data“ erforderlich ist, ist file_get_contents(„php://input“) aufgrund seiner Einfachheit und des geringeren Speicherbedarfs die bevorzugte Option. Wenn andererseits die Kompatibilität mit „multipart/form-data“ von entscheidender Bedeutung ist, ist $HTTP_RAW_POST_DATA erforderlich, nachdem „always_populate_raw_post_data“ in php.ini aktiviert wurde.
Anfragetyp zum Senden von JSON-Daten
Bezüglich des Anfragetyps zum Senden von JSON-Daten über XmlHTTPRequest, sowohl GET als auch POST kann eingesetzt werden. Allerdings ist die POST-Methode in der Regel besser geeignet, da sie größere Datennutzlasten ermöglicht und sicherer als GET ist. Stellen Sie bei Verwendung der POST-Methode sicher, dass der Header „Content-Type“ auf „application/json“ gesetzt ist, um anzuzeigen, dass die gesendeten Daten JSON-codiert sind.
Das obige ist der detaillierte Inhalt von`file_get_contents(\'php://input\')` oder `$HTTP_RAW_POST_DATA`: Welche Methode sollte ich zum Abrufen von JSON-Daten verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!