本文实例讲述了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程序设计有所帮助。