// 我的本意是想做一个关注微信公众号就自动回复一个welcome的效果,想了很多办法,也查了很多资料,但是就是没有用 // 调试也成功了,但是在手机上用的时候,关注就是没反应,然后发送消息还显示我的公众号暂时停止服务 // 真的很疲倦。。。我是新手,这个问题卡了两天了,快疯了。求大神给指点,详细一些,感激不尽! <?php public function index{ //获得参数 signature nonce token timestamp echostr $nonce = $_GET['nonce']; $token = 'paitson'; $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 && $echostr ){ //第一次接入weixin api接口的时候 echo $echostr; exit; } else { $this -> reponseMsg(); } } public function reponseMsg{ //收到数据 $postArr = $GLOBALS['HTTP_RAM_POST_DATA']; //处理消息类型并设置回复内容 $postObj = simplexml_load_string( $postArr ); if ( strtolower ($postObj -> MsgType) =='event' ){ if ( strtolower ($postObj -> Event =='subscribe' ) ) { $toUser = $postObj -> FromUserName; $fromUser = $postObj -> toUserName; $time = time(); $msgtype = "text"; $content = 'welcome!'; $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>" $info = sprintf( $template , $toUser , $fromUser , $time , $msgType , $content ); } } } ?>
qq_落野_0