【微信公众平台开发】接收信息,并分析信息类型进行响应(三)

1.根据微信公众平台文档,知道接收普通消息类型如下:

  • 1 文本消息
  • 2 图片消息
  • 3 语音消息
  • 4 视频消息
  • 5 地理位置消息
  • 6 链接消息
2.根据文档,微信服务器发送过来的消息都是xml格式的信息,所以可以从xml得到自己想要的信息。

废话不多说,看代码分析。
<?php
 public function ResponseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];   //获取从微信服务器发送过来的信息

        if (!empty($postStr)){
        	//simplexml_load_string() 函数把 XML 字符串载入对象中。然后从对象中得到相应数据
            $postObj = simplexml_load_string($postStr, ‘SimpleXMLElement‘, LIBXML_NOCDATA);
            
            $fromUsername = $postObj->FromUserName;
            $toUsername = $postObj->ToUserName;
            $keyword = trim($postObj->Content);
            $msgType = $postObj->MsgType;
            $time = time();
            $textTpl = "<xml>
    <ToUserName><![CDATA[%s]]></ToUserName>
    <FromUserName><![CDATA[%s]]></FromUserName>
    <CreateTime>%s</CreateTime>
    <MsgType><![CDATA[%s]]></MsgType>
    <Content><![CDATA[%s]]></Content>
    <FuncFlag>0</FuncFlag>
    </xml>";
            $replyMsg = "";
            if($msgType == "text")
            {
            	$replyMsg = "您发的是文本信息";
            }
            else if($msgType == "image")
            {
            	$replyMsg = "您发的是图片信息";
            }
            else if($msgType == "location")
            {
            	$replyMsg = "您发的是地理位置信息";
            }
            else if($msgType == "event")
            {
            	$eventType = $postObj->Event;
            	if($eventType == "subscribe")
            	{
            		$replyMsg = "欢迎你订阅";
            	}
            	else if($eventType == "CLICK")
            	{
            		$replyMsg = "自定义菜单事件";
            	}
            }
            
         
            $msgType = "text";
         
            $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$replyMsg);  //根据文档要求,组成xml格式
            echo $resultStr;  //输出,微信服务器接收响应
            
        }else{
            echo "";
            exit;
        }
    }
ResponseMsg();
?>

注:根据上一篇,打包代码,格式为zip。上传到sae;接着开始测试!


3.大概思路:用户发送信息,微信服务器响应,并发送规定的xml格式数据到我们写的index.php,index.php进行响应处理,根据微信公众平台文档进行xml数据分析处理,并按要求返回xml格式数据到微信服务器;微信服务器做出响应解析,然后发送最终数据到用户微信!

【微信公众平台开发】接收信息,并分析信息类型进行响应(三)

原文:http://blog.csdn.net/qivan/article/details/19108671

以上是【微信公众平台开发】接收信息,并分析信息类型进行响应(三)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>