如何在PHP5中接收和处理通过POST请求的XML文件?
我想在PHP5中使用simeplexml类来处理一个小的XML文件。但为了获得该文件,脚本必须向远程服务器发送一个特定的POST请求,该服务器将“给”我一个XML文件作为回报。所以我认为我不能使用“simplexml\u加载文件”方法。此文件仅用于处理,然后它可以,甚至应该消失/删除。 我有这种类型的HTTP头如何在PHP5中接收和处理通过POST请求的XML文件?,php,xml,simplexml,remote-access,Php,Xml,Simplexml,Remote Access,我想在PHP5中使用simeplexml类来处理一个小的XML文件。但为了获得该文件,脚本必须向远程服务器发送一个特定的POST请求,该服务器将“给”我一个XML文件作为回报。所以我认为我不能使用“simplexml\u加载文件”方法。此文件仅用于处理,然后它可以,甚至应该消失/删除。 我有这种类型的HTTP头 $header = 'POST '.$gateway.' HTTP/1.0'."\r\n" . 'Host: '.$server."\r\n".
$header = 'POST '.$gateway.' HTTP/1.0'."\r\n" .
'Host: '.$server."\r\n".
'Content-Type: application/x-www-form-urlencoded'."\r\n".
'Content-Length: '.strlen($param)."\r\n".
'Connection: close'."\r\n\r\n";
也不知道下一步该怎么做。有fsockopen,但我不确定这是否合适,或者如何使用它。我会使用HTTP客户端库(如果你是受虐狂,则使用cURL)来创建POST请求,然后将响应体馈送到或
simplexmlement::\uu construct()
我的建议是使用Zend_Http_客户端库或cURL之类的工具。使用fsockopen使一切正常将是调试的一大难题
Zend_Http_客户端有一个很好的接口,可以非常好地工作
CURL也不是很痛苦,它已经是大多数PHP构建的一部分。
示例如下:
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); // Replace with your URL
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch) // Return the XML string of data
// Parse output to Simple XML
// You'll probably want to do some validation here to validate that the returned output is XML
$xml = simplexml_load_string($output);