Heim > Backend-Entwicklung > PHP-Tutorial > PHP erhält Daten in verschiedenen Formaten in HTTP POST

PHP erhält Daten in verschiedenen Formaten in HTTP POST

藏色散人
Freigeben: 2023-04-06 12:12:02
nach vorne
2906 Leute haben es durchsucht

Die POST-Methode im HTTP-Protokoll verfügt über mehrere Formate von Datenprotokollen, die durch unterschiedliche Inhaltstypen im HTTP-Header identifiziert werden. Die am häufigsten verwendeten sind

application/x-www-form-urlencoded , das ist das Format des From-Formulars: Content-Type: application/x-www-form-urlencoded.

multipart/form-data. Es wird zum Hochladen von Dateien verwendet Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gWRoh. Es wird besonders häufig verwendet. Die übertragenen Daten haben nur einen Absatz im HTTP-Körper und werden nicht in Form von Schlüssel-Wert-Paaren gespeichert 🎜>,

,

, Content-Type: application/json usw. >Content-Type: textFür die Daten des Formulars Content-Type: application/xml verwenden Sie in PHP Content-Type: text/xml, um sie direkt abzurufen

Content-Type: application/x-www-form-urlencodedDaten in diesem Format können in PHP verwendet werden. $_POST['name'] können Zeichendaten mit

abrufen. Für Daten im Raw-Format gibt es keine Möglichkeit, sie mit zu erhalten Die oben genannten zwei Methoden und andere Methoden müssen verwendet werden Content-Type: multipart/form-data; $_POST['name']1. Verwenden Sie $_FILES['file'], um eine einfache PHP-Datei zu erhalten und sie zu testen.

<?php
$test=file_get_contents("php://input");
echo $test;
Nach dem Login kopieren

Testen Sie sie mit dem Postboten 🎜>

file_get_contents("php://input")Kein Problem, Sie können es erhalten

2. Verwenden Sie

, um

<?php
$test=$GLOBALS[&#39;HTTP_RAW_POST_DATA&#39;];
echo $test;
Nach dem Login kopieren
PHP erhält Daten in verschiedenen Formaten in HTTP POSTTesten Sie es mit dem Postboten

$GLOBALS[&#39;HTTP_RAW_POST_DATA&#39;]Oh Scheiße, etwas ist schief gelaufen, sodass nichts gefunden wurde

Was zum Teufel ist dieser Array-Index? Ich habe ihn gegoogelt und diesen Absatz auf der offiziellen Website von PHP gesehen:

PHP erhält Daten in verschiedenen Formaten in HTTP POST

Es stellt sich heraus, dass

in PHP5.6 aufgegeben wurde. Es wurde in Versionen nach PHP7.0 gelöscht, und es muss ein Fehler aufgetreten sein HTTP_RAW_POST_DATA

Okay, dann verwenden Sie einfach

, um es zu erhalten PHP erhält Daten in verschiedenen Formaten in HTTP POST

In der tatsächlichen Entwicklung verwende ich im Allgemeinen Thinkphp mehr. In tp5.0 können Sie die Funktion getInput() verwenden der Anfrage, um die Daten in Raw zu erhalten

<?php

namespace app\index\controller;

use think\Request;

class Index
{
    public function index(Request $request)
    {
        echo $request->getInput();
    }
}
Nach dem Login kopieren
HTTP_RAW_POST_DATATesten Sie es

file_get_contents("php://input")

Kein Problem, Sie können es normal abrufen

Die Methode zum Abrufen Hier werden HTTP-POST-Daten in PHP vorgestellt. Ich hoffe, dass sie für Freunde hilfreich sind, die sie benötigen!

Das obige ist der detaillierte Inhalt vonPHP erhält Daten in verschiedenen Formaten in HTTP POST. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:aliyun.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage