Penyelesaian kepada masalah yang php tidak boleh menerima data xml: 1. Gunakan kaedah "file_get_contents('php://input');" untuk menerima data xml 2. Gunakan "simplexml_load_string($GLOBALS['; HTTP_RAW_POST_DATA'] , 'SimpleXMLElement', LIBXML_NOCDATA);" kaedah untuk menerima data xml.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika php tidak dapat menerima data xml?
Mengenai beberapa isu dengan php menerima xml, simplexml_load_string tidak boleh menerima data
Kedua-dua kaedah ini biasanya digunakan untuk menerima data xml
Kaedah 1:
file_get_contents('php://input');
Kaedah 2:
simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA);
Adalah disyorkan untuk menggunakan kaedah 1, kaedah 2 telah dibuang dalam versi PHP yang lebih tinggi
---------- --------------------------Barisan pemisah yang tampan-----------------
Kata Pengantar: Projek syarikat adalah agak lama dan semuanya menggunakan Kaedah 2.
Masalah: Apabila saya menggunakan curl untuk meminta antara muka yang ditulis oleh orang lain, kaedah 2 tidak boleh menerimanya, tetapi kaedah 1 boleh.
Penyelesaian: Selepas ujian, Content-Type dalam parameter cur yang perlu ditetapkan ialah text/xml
Kod: curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: text/ xml; charset=utf-8"));
Nilai lalai Content-Type dalam parameter cur PHP ialah application/x-www-form-urlencoded, tmd! Menggunakan kaedah 2 akan menentukan Jenis Kandungan pengepala permintaan http
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php tidak dapat menerima data xml?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!