首頁 >後端開發 >PHP問題 >php接收不到xml資料怎麼辦

php接收不到xml資料怎麼辦

藏色散人
藏色散人原創
2022-10-24 11:19:101266瀏覽

php接收不到xml資料的解決方法:1、使用「file_get_contents('php://input');」方法接收xml資料;2、使用「simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'] , 'SimpleXMLElement', LIBXML_NOCDATA);」方法接收xml資料即可。

php接收不到xml資料怎麼辦

本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。

php接收不到xml資料怎麼辦?

關於php接受xml的一些問題,simplexml_load_string收不到資料

接受xml資料一般使用這兩種方法

#方法1:

file_get_contents('php://input');

方法2:

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

建議使用方法1,方法2在PHP版本高的已經丟棄

----------------- -------好看的分割線--------------------------------

前言:公司的專案有些久遠,都是用的方法2。

問題:我在使用curl去請求其他人寫的介面的時候,方法2接收不到,方法1可以。

解決方案:經過測試,需要設定的cur參數中的Content-Type為text/xml

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

PHP的cur參數中的Content-Type預設值是application/x-www-form-urlencoded,tmd!使用方法2會判斷http請求頭的Content-Type

推薦學習:《PHP影片教學

以上是php接收不到xml資料怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn