Heim  >  Artikel  >  php教程  >  Drei Möglichkeiten, POST-Daten in PHP abzurufen

Drei Möglichkeiten, POST-Daten in PHP abzurufen

大家讲道理
大家讲道理Original
2016-11-08 13:59:521488Durchsuche

Methode 1, $_POST

$_POST oder $_REQUEST speichert 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 file_get_contents("php://input"); verwenden Holen Sie sich die Originaldaten.
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 keine $_GET-Daten 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’]

Die Originaldaten von POST werden in $GLOBALS[‘HTTP_RAW_POST_DATA’] gespeichert.
Ob die POST-Daten jedoch in $GLOBALS['HTTP_RAW_POST_DATA'] gespeichert werden, hängt von der Centent-Type-Einstellung ab. Nur wenn PHP den Content-Type nicht erkennen kann, werden die POST-Daten so eingegeben, wie sie sind Variable $GLOBALS['HTTP_RAW_POST_DATA']. Wenn Content-Type=application/x-www-form-urlencoded ist, ist die Variable leer.
Darüber hinaus können keine POST-Daten gelesen werden, deren Inhaltstyp multipart/form-data ist. Sie müssen außerdem den Wert „always_populate_raw_post_data“ in php.ini auf „On“ setzen, damit PHP die POST-Daten immer in die Variable $http_raw_post_data einträgt.


Stellungnahme:
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