Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der drei Methoden zum Abrufen von POST-Daten in PHP
In diesem Artikel werden drei Methoden für PHP zum Abrufen von POST-Daten vorgestellt. Die erste Methode ist die Verwendung von file_get_contents und die dritte Methode ist die Verwendung der globalen Variablen $GLOBALS
Drei Möglichkeiten, POST-Daten in PHP zu erhalten
Methode 1, $_POST
$ _POST oder $_REQUEST Gespeichert werden die von PHP formatierten Daten in der Form key=>value.
Methode 2, verwenden Sie file_get_contents("php://input")
Für POST-Daten ohne angegebenen Inhaltstyp können Sie verwenden file_get_contents("php://input"); um die Originaldaten abzurufen. Tatsächlich verwenden alle von POST mit PHP empfangenen Daten diese Methode. Unabhängig vom Inhaltstyp ist auch die Einbeziehung binärer Dateiströme möglich.
Im Vergleich zu $HTTP_RAW_POST_DATA belastet es den Speicher weniger und erfordert keine speziellen php.ini-Einstellungen.
php://input kann keine POST-Daten lesen, deren Content-Type multipart/form-data ist. Sie müssen den Wert „always_populate_raw_post_data“ in php.ini auf „On“ setzen.
php://input kann $_GET-Daten nicht lesen. Dies liegt daran, dass die $_GET-Daten als query_path in das PATH-Feld des HTTP-Anforderungsheaders geschrieben werden und nicht in den Hauptteil der http-Anforderung.
Methode drei, verwenden Sie die globale Variable $GLOBALS['HTTP_RAW_POST_DATA']
Der POST wird in $GLOBALS['HTTP_RAW_POST_DATA'] gespeichert. von Rohdaten.
Aber ob die POST-Daten in $GLOBALS['HTTP_RAW_POST_DATA'] gespeichert werden, hängt von der Centent-Type-Einstellung ab. Wird der POST nur dann gespeichert, wenn PHP den Content-Type nicht erkennen kann? Daten werden unverändert in die Variable $GLOBALS['HTTP_RAW_POST_DATA'] eingefügt. Wenn Content-Type=application/x-www-form-urlencoded ist, ist die Variable leer.
Darüber hinaus können auch keine POST-Daten gelesen werden, deren Content-Type multipart/form-data ist. Sie müssen außerdem den Wert „always_populate_raw_post_data“ in php.ini auf „On“ setzen, damit PHP dies immer tut Füllen Sie die POST-Daten aus.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
So implementieren Sie die Entwicklung der WeChat Cash Red Envelope-Funktion in PHP
PHP WeChat simuliert die Anmeldung und sendet eine Nachricht an den Benutzer
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der drei Methoden zum Abrufen von POST-Daten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!