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=----WebKitFormBoundary7MA4YWxkTrZu0gW
Roh. 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: text
Fü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-urlencoded
Daten 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;
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['HTTP_RAW_POST_DATA']; echo $test;
$GLOBALS['HTTP_RAW_POST_DATA']
Oh Scheiße, etwas ist schief gelaufen, sodass nichts gefunden wurde
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
, um es zu erhalten
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(); } }
HTTP_RAW_POST_DATA
Testen Sie esfile_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!