In the process of learning PHP, you will encounter when PHP sends XML data through curl. This article will explain the related methods.
In php programming, it is often used to transmit data in xml format, such as calling third-party interfaces such as WeChat. Here is a demonstration of php sending xml in curl form and receiving it through the server
1. Send xml data - postXml.php
<?php // 首先检测是否支持curlif (!extension_loaded("curl")) { trigger_error("对不起,请开启curl功能模块!", E_USER_ERROR); } // 构造xml数据$xmlData = " <xml> <AppId>wxf8b4f85f3a794e77</AppId> <ErrorType>1001</ErrorType> <Description>错误描述</Description> <AlarmContent>transaction_id=33534453534</AlarmContent> <TimeStamp>1393860740</TimeStamp> <AppSignature>f8164781a303f4d5a944a2dfc68411a8c7e4fbea</AppSignature> <SignMethod>sha1</SignMethod> </xml>"; $url = 'http://web.whm.com/getXml.php'; //接收xml数据的文件$ch = curl_init(); // 初始一个curl会话$timeout = 30; // php运行超时时间,单位秒curl_setopt($ch, CURLOPT_URL, $url); // 设置urlcurl_setopt($ch, CURLOPT_POST, 1); // post 请求curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type:text/xml; charset=utf-8")); // 一定要定义content-type为xml,要不然默认是text/html!curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData);//post提交的数据包curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); // PHP脚本在成功连接服务器前等待多久,单位秒curl_setopt($ch, CURLOPT_HEADER, 0); $result = curl_exec($ch); // 抓取URL并把它传递给浏览器// 是否报错if(curl_errno($ch)) { print curl_error($ch); } curl_close($ch); // //关闭cURL资源,并且释放系统资源 echo $result;
php sends XML data through curl and obtains XML data
2. Receive xml data - getXml.php
<?php //接收传送的数据$xml = file_get_contents("php://input"); //将xml数据写入文本文件"whm.txt"中$handle =fopen('whm.txt','w'); fwrite($handle,$xml);
php sends XML data through curl and obtains XML data
3. Notes
When constructing xml, be sure to pay attention to the correct format, no spaces, etc.
Be sure to define content-type as xml, otherwise the default is text/html
This article explains how PHP sends XML data through curl and obtains XML data. For more related knowledge, please pay attention to the PHP Chinese website.
Related recommendations:
PHP perfectly generates word documents, and html elements can be added
ThinkPhp caching principle and detailed explanation
Discuz!X/Database DB:: Function operation method
The above is the detailed content of PHP sends XML data through curl and gets XML data. For more information, please follow other related articles on the PHP Chinese website!