php版微信返回用户text输入的方法

时间:2022-08-30 09:03:28

本文实例讲述了php版微信返回用户text输入的方法。分享给大家供大家参考,具体如下:

获得用户输入的内容,并发回相同内容

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//获取post数据
// $PostData = $HTTP_RAW_POST_DATA;
$PostData = file_get_contents("php://input");
//判断POST是否为空
if(!$PostData){
  echo "wrong input!";
  exit(0);
}
//解析XML字符串
$xmlObj = simplexml_load_string($PostData, 'SimpleXMLElement', LIBXML_NOCDATA);
if(!$xmlObj){
  echo "wrong input!";
  exit(0);
}
//获取数据
$fromUserName = $xmlObj->FromUserName;
$toUserName = $xmlObj->ToUserName;
$msgType = $xmlObj->MsgType;
//返回用户输入
 if('text' != $msgType){
   //不是文本,输出错误提示消息
   $retMsg = "只支持文本消息";
}
//用户输入文本
else{
  $content = $xmlObj->Content;
  $retMsg = $content;
}
//输出xml模板
$retTmp = "<xml>
       <ToUserName><![CDATA[%s]]></ToUserName>
       <FromUserName><![CDATA[%S]]></FromUserName>
       <CreateTime>%s</CreateTime>
       <MsgType><![CDATA[text]]></MsgType>
       <Content><![CDATA[%s]]></Content>
       <FuncFlag>0</FuncFlag>
       </xml>";
//对消息中的通配符进行替换
$resultStr = sprintf($retTmp, $fromUserName, $toUserName, time(), $retMsg);
//输出xml的消息
echo $resultStr

希望本文所述对大家PHP程序设计有所帮助。