Heim >Backend-Entwicklung >PHP-Tutorial >Wie greife ich ordnungsgemäß auf JSON-Daten aus PHP-POST-Anfragen zu?
So extrahieren Sie JSON-Daten aus einer PHP-POST-Anfrage
Beim Senden von JSON-Daten an ein PHP-Skript über eine POST-Anfrage, Zugriff auf den Textkörper kann verwirrend sein. Mit var_dump($_POST); gibt ein leeres Array zurück.
Lösung: Verwendung von php://input
Um auf den Anfragetext zuzugreifen, stellt PHP php://input:
$entityBody = file_get_contents('php://input');Dieser Stream enthält die POST-Rohdaten. Sie können auch stream_get_contents(STDIN) verwenden, da STDIN ein Alias für php://input ist.
注意事项:
function detectRequestBody() { $rawInput = fopen('php://input', 'r'); $tempStream = fopen('php://temp', 'r+'); stream_copy_to_stream($rawInput, $tempStream); rewind($tempStream); return $tempStream; }
Einschränkungen:
php://input ist für Anfragen mit Content-Type: multipart nicht verfügbar /form-data, da PHP mehrteilige Daten verarbeitet nativ.Beispiel:
Um auf das JSON-Objekt {a:1} in Ihrem PHP-Code zuzugreifen, verwenden Sie:Das obige ist der detaillierte Inhalt vonWie greife ich ordnungsgemäß auf JSON-Daten aus PHP-POST-Anfragen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!