php关注微信服务号回复
来源:互联网 发布:charindex函数 sql 编辑:程序博客网 时间:2024/06/05 17:30
环境:新浪SAE+ThinkPHP5.0.12
注:代码留存用
坑点:新浪SAE一定记得实名认证,不然token验证不让过
控制器文件代码(功能:关注公众号回复文字):
<?phpnamespace app\index\controller;class Index { public function __construct() { } public function Index() { if (isset($_GET['echostr'])) { //获得参数 signature,nonce,timestamp,token $nonce = $_GET['nonce']; $token = 'TzxWeiXin'; $timestamp = $_GET['timestamp']; $echostr = $_GET['echostr']; $signature = $_GET['signature']; //形成数组,然后案字典序排序 $array = array(); $array = array($nonce, $timestamp, $token); sort($array); //拼接字符串,sha1加密,然后与signature进行校验 $str = sha1(implode($array)); if ($str == $signature) { echo $echostr; exit ; } } else { $this -> responseMsg(); } } //接受事件推送并回复 public function responseMsg() { //获取微信post过来的xml数据(不能用$_POST,因为PHP不识别XML) $postArr = $GLOBALS['HTTP_RAW_POST_DATA']; //处理消息类型,并且设置回复类型 // <xml> // <ToUserName><![CDATA[toUser]]></ToUserName> // <FromUserName><![CDATA[FromUser]]></FromUserName> // <CreateTime>123456789</CreateTime> // <MsgType><![CDATA[event]]></MsgType> // <Event><![CDATA[subscribe]]></Event> // </xml> $postObj = simplexml_load_string($postArr); // ToUserName 开发者微信号 // FromUserName 发送方帐号(一个OpenID) // CreateTime 消息创建时间 (整型) // MsgType 消息类型,event // Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅) if (strtolower($postObj -> MsgType) == 'event') { //如果是关注事件subcribe if (strtolower($postObj -> Event) == 'subscribe') { //回复用户消息 $toUser = $postObj -> FromUserName; $fromUser = $postObj -> ToUserName; $time = time(); $msgType = 'text'; $content = '欢迎关注我们的微信'; // 回复用户消息格式 // <xml> // <ToUserName><![CDATA[toUser]]></ToUserName> // <FromUserName><![CDATA[fromUser]]></FromUserName> // <CreateTime>12345678</CreateTime> // <MsgType><![CDATA[text]]></MsgType> // <Content><![CDATA[你好]]></Content> // </xml> $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; } } }}
阅读全文
0 0
- php关注微信服务号回复
- 微信关注回复代码
- 微信关注回复消息
- 微信公众号验证token+关注回复+关键字回复+单图文回复
- 微信公众号首次关注自动回复图文消息
- 微信开发之关注自动回复
- 微信机器人,关注回复,天气
- php 微信自动回复
- php微信公众号开发,入门篇(实现了关注公众号发送欢迎信息,发关键词自回复)
- 微信公众号开发——关注公众号自动回复
- 微信公众号添加关注后自动回复图文信息
- 微信公众号添加关注后自动回复图文信息(素材)
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- 微信开发实战(5)—粉丝关注开发者公众号时,自动回复消息
- 微信公众号开发--Emoji表情(可用于关注自动回复等)
- 【微信公众号开发】自我学习第二章:关注事件触发的自动回复
- 微信公众号关注一次回复多条消息java开发
- log4j.properties配置详解与实例
- 使用C++获取文件夹中所有文件名(windows环境)
- keil使用遇到的问题
- nodejs基础教程-简单blog(1)
- 使用javaMail发送邮件
- php关注微信服务号回复
- 4K如此成熟,8K开始布局,8K视频质量测试,对硬件要求更高!欢迎交流8K
- linux(CentOS) 下mysql自动定时备份
- iOS代码块Block
- Word2Vec的相关知识
- CNC加工中心刀柄类型有哪些
- 0-1背包打印路径
- android.view.ViewRoot$CalledFromWrongThreadException
- .net平台下C#socket通信(上)