Heim > Backend-Entwicklung > PHP-Tutorial > Wie greife ich in PHP ordnungsgemäß auf JSON-POST-Daten zu?

Wie greife ich in PHP ordnungsgemäß auf JSON-POST-Daten zu?

Barbara Streisand
Freigeben: 2024-12-22 04:19:12
Original
406 Leute haben es durchsucht

How to Properly Access JSON POST Data in PHP?

Zugriff auf POST-Daten in PHP: JSON-Body dekodieren

In PHP erfordert die Bearbeitung von POST-Anfragen den Zugriff auf den Anfragetext, um übermittelte Daten zu extrahieren. Beim Empfang eines JSON-codierten Körpers ist es wichtig, den richtigen Ansatz zu verwenden, um die gewünschten Informationen abzurufen.

JSON-Extraktion

Um auf die JSON-Daten im POST-Körper zuzugreifen , verlassen Sie sich nicht auf $_POST. Verwenden Sie stattdessen file_get_contents('php://input'):

$json_input = file_get_contents('php://input');
$data = json_decode($json_input, true);
Nach dem Login kopieren

Dies liest den rohen POST-Body als String, der dann mit json_decode() in ein PHP-Array dekodiert wird.

Umgang mit Multipart-/Formulardaten

Wenn Ihre POST-Anfrage über eine Multipart-/Formulardaten-Codierung verfügt, ist die Daten werden automatisch in den Superglobal $_POST geparst. Beachten Sie jedoch, dass Sie in diesem Fall nicht mit php://input auf den rohen JSON-Körper zugreifen können.

Beispiel

Zum Beispiel, wenn Sie eine POST-Anfrage mit senden der folgende JSON-Body:

{"a": 1}
Nach dem Login kopieren

Ihr PHP-Code kann ihn dekodieren als folgt:

$json_input = file_get_contents('php://input');
$data = json_decode($json_input, true);

var_dump($data['a']); // Outputs: 1
Nach dem Login kopieren

Hinweis zur Suchbarkeit

php://input ist nicht suchbar, was bedeutet, dass es nur einmal gelesen werden kann. Wenn Sie den Stream für mehrere Lesevorgänge beibehalten müssen, sollten Sie erwägen, einen temporären Stream mit stream_copy_to_stream() zu erstellen oder php://temp für eine bessere Speicherverwaltung zu verwenden.

Das obige ist der detaillierte Inhalt vonWie greife ich in PHP ordnungsgemäß auf JSON-POST-Daten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage