php接收不到xml資料的解決方法:1、使用「file_get_contents('php://input');」方法接收xml資料;2、使用「simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'] , 'SimpleXMLElement', LIBXML_NOCDATA);」方法接收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中文網其他相關文章!