Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielerklärung von $_POST in PHP

Beispielerklärung von $_POST in PHP

零下一度
零下一度Original
2017-07-27 14:58:262835Durchsuche

$_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!

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
Vorheriger Artikel:Welche Rolle spielt PHP?Nächster Artikel:Welche Rolle spielt PHP?