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
还有一种就是使用定界符来输出,这个用起来比较方便而且不用拼接字符串,出错的概率低一些