PHP如何以POST形式发送XML数据,PHP如何接收XML文件
准备两个PHP文件:一个是发送数据的postXml.php,另一个是接收数据的getXml.php
发送XML: postXml.php
1 | //准备XML数据 |
第一种发送方式,也是推荐的方式, 使用CURL:
1 | $url = 'http://cnwyt.net/xml/getXml.php'; //接收xml数据的文件 |
第二种发送方式,使用Socket:
1 | $url = 'http://cnwyt.net/xml/getXml.php'; |
接收XML: getXml.php
1 | //接收数据,并将数据写入文件中 |
问题:为什么不使用$_POST接收?
解答:由于PHP默认只识别application/x-www.form-urlencoded标准的数据类型,对型如text/xml的内容无法解析为$_POST数组,故保留原型,交给$GLOBALS['HTTP_RAW_POST_DATA'] 来接收。注意,$HTTP_RAW_POST_DATA 对于 enctype=”multipart/form-data” 表单数据不可用。
扩展阅读:
http://php.net/manual/zh/ref.curl.php
使用PHP CURL的POST数据
http://www.nowamagic.net/librarys/veda/detail/124
$HTTP_RAW_POST_DATA
http://www.cnblogs.com/xwblog/archive/2011/12/23/2299672.html