PHP实现XML传输

sendXML.php <!--发送XML的页面-->

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php  

$xml_data = '<xml>...</xml>';//发送的xml
$url = 'http://localhost/getXML.php';//接收XML地址

$header = "Content-type: text/xml";//定义content-type为xml
$ch = curl_init(); //初始化curl
curl_setopt($ch, CURLOPT_URL, $url);//设置链接
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置是否返回信息
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置HTTP头
curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);//POST数据
$response = curl_exec($ch);//接收返回信息
if(curl_errno($ch)){//出错则显示错误信息
print curl_error($ch);
}
curl_close($ch); //关闭curl链接
echo $response;//显示返回信息

?>

getXML.php <!--接收XML的页面-->

1
2
3
4
5
6
7
8
9
10
11
12
<?php  

$xml = file_get_contents('php://input');//监听是否有数据传入
if($xml!=''){//如果有数据传入,则将传入的数据写入到xml.txt文件
$fp = fopen('xml.txt','w');
fwrite($fp,$xml);
fclose($fp);
exit('OK');//写入成功后返回成功信息
}
die('Fail');//没有数据则直接返回失败信息

?>