Heim >Backend-Entwicklung >PHP-Problem >So empfangen Sie JSON-Daten für POST mit PHP

So empfangen Sie JSON-Daten für POST mit PHP

藏色散人
藏色散人Original
2021-08-26 10:32:4410732Durchsuche

Im vorherigen Artikel „Wie PHP-Programme JSON-Daten durchqueren“ haben wir vorgestellt, wie PHP JSON-Daten durchläuft. Ich hoffe, dass jeder weiterhin Inhalte im Zusammenhang mit PHP JSON durchläuft Dieser Artikel So empfängt PHP die JSON-Daten von POST.

Wenn Sie den vorherigen Artikel gelesen haben, müssen Sie über ein gewisses Verständnis von JSON verfügen, daher werde ich es hier nicht vorstellen.

Lassen Sie mich zunächst drei wichtige Wissenspunkte vorstellen:

1. php://input: Dies ist ein schreibgeschützter Stream, aus dem wir Rohdaten lesen können der Anfragetext. Es gibt alle Rohdaten nach den HTTP-Headern der Anfrage zurück, unabhängig vom Inhaltstyp.

2. file_get_contents() Funktion: Diese Funktion in PHP wird verwendet, um eine Datei in einen String einzulesen.

php://input:这是一个只读流,允许我们从请求正文中读取原始数据。无论内容类型如何,它都会在请求的 HTTP 标头之后返回所有原始数据。

2、file_get_contents() 函数:PHP 中的此函数用于将文件读入字符串。

3、json_decode()3. json_decode()-Funktion: Diese Funktion akzeptiert einen JSON-String und konvertiert ihn in eine PHP-Variable, die ein Array oder ein Objekt sein kann.

Jeder muss wissen, dass wir die globale Variable $_POST[] verwenden können, um alle veröffentlichten Daten in PHP-Skripten zu empfangen. Wenn wir jedoch eine JSON-Zeichenfolge als Post-Daten erhalten möchten, schlägt dies fehl. Wenn wir also einen JSON-String erhalten möchten, können wir die Funktionen „php://input“ und file_get_contents() verwenden, um die JSON-Daten als Datei zu empfangen und in einen String einzulesen.

Lassen Sie es uns anhand konkreter Beispiele vorstellen:

Verwenden Sie die Funktion json_decode(), um einen JSON-String zu dekodieren.

// 从请求中获取原始数据
$json = file_get_contents('php://input'); 
// 将其转换为 PHP 对象
$data = json_decode($json);

Das erste Beispiel:

<?php
$json = &#39;["PHP", "HTML", "javascript"]&#39;;

$data = json_decode($json);

echo $data[0];

Ausgabeergebnis:

PHP

Das zweite Beispiel:

<?php
$json = &#39;{
    "title": "PHP",
    "site": "PHP中文网"
}&#39;;

$data = json_decode($json);

echo $data->title;
echo "<br>";

echo $data->site;

Ausgabe:

PHP
PHP中文网

Die PHP-Chinese-Website-Plattform verfügt über viele Video-Lehrressourcen, jeder ist herzlich willkommen, „PHP“ zu lernen Video" Tutorial 》!

Das obige ist der detaillierte Inhalt vonSo empfangen Sie JSON-Daten für POST mit 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