Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn PHP keine XML-Daten empfangen kann?

Was soll ich tun, wenn PHP keine XML-Daten empfangen kann?

藏色散人
藏色散人Original
2022-10-24 11:19:101268Durchsuche

Lösungen, wenn PHP keine XML-Daten empfangen kann: 1. Verwenden Sie die Methode „file_get_contents('php://input');“ 2. Verwenden Sie „simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement' , LIBXML_NOCDATA);“-Methode zum Empfangen von XML-Daten.

Was soll ich tun, wenn PHP keine XML-Daten empfangen kann?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.

Was soll ich tun, wenn PHP keine XML-Daten empfangen kann?

In Bezug auf einige Probleme mit PHP, die XML akzeptieren, kann simplexml_load_string keine Daten empfangen.

Verwenden Sie im Allgemeinen diese beiden Methoden, um XML-Daten zu akzeptieren.

Methode 1:

file_get_contents('php://input');

Methode 2:

simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);

Es ​​wird empfohlen, Methode 1 und Methode 2 zu verwenden in PHP Die Version mit höherer Version wurde verworfen

---------------------Schöne Trennlinie-------------- - ---

Vorwort: Die Projekte des Unternehmens sind etwas alt und alle verwenden Methode 2.

Problem: Wenn ich Curl verwende, um eine von anderen geschriebene Schnittstelle anzufordern, kann Methode 2 sie nicht empfangen, Methode 1 jedoch.

Lösung: Nach dem Testen ist der Content-Type im Parameter cur, der festgelegt werden muss, text/xml

Code: curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml; charset=utf- 8" ));

Der Standardwert von Content-Type im PHP-Parameter cur ist application/x-www-form-urlencoded, tmd! Mithilfe von Methode 2 wird der Inhaltstyp des HTTP-Anforderungsheaders ermittelt. Lernempfehlung: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP keine XML-Daten empfangen kann?. 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