$_POST: Ein Array von Variablen, die über die HTTP-POST-Methode übergeben werden. ist eine automatische globale Variable.
$GLOBALS['HTTP_RAW_POST_DATA']: Generieren Sie immer Variablen, die POST-Rohdaten enthalten. Diese Variable wird nur generiert, wenn Daten eines nicht erkannten MIME-Typs gefunden werden. $HTTP_RAW_POST_DATA ist für enctype="multipart/form-data" Formulardaten nicht verfügbar.
Das heißt, im Grunde sind $GLOBALS['HTTP_RAW_POST_DATA'] und $_POST gleich.
Aber wenn die geposteten Daten von PHP nicht erkannt werden, können Sie $GLOBALS['HTTP_RAW_POST_DATA'] verwenden, um sie zu empfangen, z. B. Text/XML oder Soap usw.
Zusätzliche Erklärung: Der von PHP standardmäßig erkannte Datentyp ist der Standarddatentyp application/x-www.form-urlencoded.
Das steht im Handbuch
Generieren Sie immer Variablen, die den Original-POST enthalten
Daten. Andernfalls wird diese Variable nur generiert, wenn Daten eines nicht erkannten MIME-Typs gefunden werden. Eine bessere Möglichkeit, auf die POST-Rohdaten zuzugreifen, ist jedoch
php://Eingabe. $HTTP_RAW_POST_DATA für enctype="multipart/form-data"
Formulardaten sind nicht verfügbar.
Problem: $HTTP_RAW_POST_DATA == $_POST
?
Laut Handbuch sollte die Antwort Nein lauten.
Wenn sie unterschiedlich sind, was ist ihr Unterschied?
Ich kenne die Antwort, wie folgt:
Der RAW/uninterpretierte HTTP-POST
Auf Informationen kann zugegriffen werden mit:
$GLOBALS['HTTP_RAW_POST_DATA']
Dies ist in Fällen nützlich, in denen die
post Content-Type ist etwas, das PHP nicht versteht (z. B
text/xml).
Das heißt im Grunde $GLOBALS['HTTP_RAW_POST_DATA'] und
$_POST ist dasselbe. Wenn die geposteten Daten jedoch von PHP nicht erkannt werden, können Sie sie verwenden
$GLOBALS['HTTP_RAW_POST_DATA'] zum Empfangen, z. B. text/xml oder Soap
usw.
Der von PHP standardmäßig erkannte Datentyp ist der Standarddatentyp application/x-www.form-urlencoded.
Verwenden Sie Content-Type=text/xml
Geben Sie ein, senden Sie den Inhalt eines XML-Dokuments an den PHP-Server und erfahren Sie, wie Sie diese POST-Daten erhalten.
Der RAW/uninterpretierte HTTP-POST
Informationen können abgerufen werden mit: $GLOBALS['HTTP_RAW_POST_DATA']
Dies ist in Fällen nützlich, in denen der Inhaltstyp des Beitrags nicht der Fall ist
etwas, das PHP versteht (z. B. text/xml). Es wird in ein $_POST-Array geparst, sodass der Prototyp beibehalten und an $GLOBALS['HTTP_RAW_POST_DATA'] übergeben wird.
zu empfangen.
Es gibt ein weiteres Element php://input
Diese Funktion kann auch implementiert werden
php://input ermöglicht das Lesen der Rohdaten von POST. Und
Es belastet den Speicher weniger als $HTTP_RAW_POST_DATA und erfordert keine spezielle php.ini
aufstellen. php://input kann nicht mit enctype="multipart/form-data" verwendet werden.
Bewerben
Das obige ist der detaillierte Inhalt vonBeispielerklärung von $_POST in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!