PHP如何接收數據呢,常用的有以下幾種,$_GET、$_POST、$_REQUEST,一般我們都是用這幾種方法來獲取提交過來的數據,但是如果提交的內容是XML的話,通過這幾種常用的方式都是獲取不到內容的,這里我們就需要使用另一種方式來獲取到xml的內容
file_get_contents("php://input"); 這是 PHP 中的一個函數,用于獲取 HTTP 請求的正文數據。
當客戶端向服務器發送一個 POST 請求時,請求的正文數據通常包含在請求的主體中。這些數據可以是表單數據、JSON 數據或其他任何類型的數據。使用 file_get_contents("php://input"); 可以獲取到這些數據的原始內容。
這個函數返回一個字符串,其中包含請求正文的全部內容。你可以根據需要對這個字符串進行解析和處理,以獲取所需的數據。
這里獲取到的是一個字符串,并不是xml文件也不是xml對象。我們需要針對字符串進行數據轉換,這里就用到了另一個方法simplexml_load_string,是 PHP 中的一個函數,用于將格式良好的 XML 字符串轉換為一個 SimpleXMLElement 對象
$xml = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
SimpleXML 擴展提供了一種簡單的方法來解析 XML 數據

最后就是如何返回一個正式的xml數據了,直接返回xml字符串可能會導致格式有問題,所以組裝的內容需要注意一下。這里我寫了兩個例子,一個是通過拼接字符串來返回xml

還有一種就是使用定界符來輸出,這個用起來比較方便而且不用拼接字符串,出錯的概率低一些




