Maison >développement back-end >Problème PHP >Que dois-je faire si php ne peut pas recevoir de données XML ?
Solutions lorsque php ne peut pas recevoir de données XML : 1. Utilisez la méthode "file_get_contents('php://input');" pour recevoir des données XML ; 2. Utilisez "simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement' , LIBXML_NOCDATA);" méthode pour recevoir des données XML.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
Que dois-je faire si php ne peut pas recevoir de données XML ?
Concernant certains problèmes avec PHP acceptant le XML, simplexml_load_string ne peut pas recevoir de données
Utilisez généralement ces deux méthodes pour accepter les données XML
Méthode 1 :
file_get_contents('php://input');
Méthode 2 :
simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);
Il est recommandé d'utiliser la méthode 1 et la méthode 2 en PHP La version avec une version supérieure a été supprimée
---------------------Belle ligne de démarcation-------------- - ---
Avant-propos : Les projets de l'entreprise sont un peu anciens, et ils utilisent tous la méthode 2.
Problème : lorsque j'utilise curl pour demander une interface écrite par d'autres, la méthode 2 ne peut pas la recevoir, mais la méthode 1 le peut.
Solution : après le test, le type de contenu dans le paramètre cur qui doit être défini est text/xml
Code : curl_setopt($curl, CURLOPT_HTTPEADER, array("Content-Type: text/xml; charset=utf- 8" ));
La valeur par défaut de Content-Type dans le paramètre cur de PHP est application/x-www-form-urlencoded, tmd ! L'utilisation de la méthode 2 déterminera le type de contenu de l'en-tête de la requête http
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!