当前位置:首页 > PHP教程 > php高级应用 > 列表

php微信开发之关注事件

发布:smiling 来源: PHP粉丝网  添加日期:2018-11-14 15:27:22 浏览: 评论:0 

本文实例为大家分享了php微信关注事件的具体代码,供大家参考,具体内容如下:

  1. <!--?php 
  2. /** 
  3.  * wechat php test 
  4.  */ 
  5.   
  6. //define your token 
  7. define("TOKEN""weixin"); 
  8. $wechatObj = new wechatCallbackapiTest(); 
  9. //$wechatObj--->valid(); 
  10. $wechatObj->responseMsg(); 
  11. class wechatCallbackapiTest 
  12.   public function valid() 
  13.   { 
  14.     $echoStr = $_GET["echostr"]; 
  15.   
  16.     //valid signature , option 
  17.     if($this->checkSignature()){ 
  18.       echo $echoStr
  19.       exit
  20.     } 
  21.   } 
  22.   
  23.   public function responseMsg() 
  24.   { 
  25.     //get post data, May be due to the different environments 
  26.     $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  27.   
  28.     //extract post data 
  29.     if (!emptyempty($postStr)){ 
  30.   
  31.         $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  32.         $fromUsername = $postObj->FromUserName; 
  33.         $toUsername = $postObj->ToUserName; 
  34.         $type = $postObj->MsgType; 
  35.         $customevent = $postObj->Event; 
  36.         $keyword = trim($postObj->Content); 
  37.         $time = time(); 
  38.         $textTpl = "<xml> 
  39.               <tousername><!--[CDATA[%s]]--></tousername> 
  40.               <fromusername><!--[CDATA[%s]]--></fromusername> 
  41.               <createtime>%s</createtime> 
  42.               <msgtype><!--[CDATA[%s]]--></msgtype> 
  43.               <content><!--[CDATA[%s]]--></content> 
  44.               <funcflag>0</funcflag> 
  45.               </xml>";        
  46.         if($type=="event" and $customrevent=="subscribe"){ 
  47.           $contentStr = "感谢你的关注\n回复1查看联系方式\n回复2查看最新资讯\n回复3查看法律文书"
  48.           $msgType = "text"
  49.           $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  50.           echo $resultStr
  51.           }   
  52.         if(!emptyempty$keyword )) 
  53.         {                 
  54.           $msgType = "text"
  55.           if($keyword=="1"){ 
  56.           $contentStr = "qiphon";} 
  57.           if($keyword=="2"){ 
  58.           $contentStr = "test 。";} 
  59.           if($keyword=="3"){ 
  60.           $contentStr = "test333";}          
  61.           $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  62.           echo $resultStr
  63.         }else
  64.           echo "Input something..."
  65.         } 
  66.   
  67.     }else { 
  68.       echo ""
  69.       exit
  70.     } 
  71.   } 
  72.   
  73.   private function checkSignature() 
  74.   { 
  75.     $signature = $_GET["signature"]; 
  76.     $timestamp = $_GET["timestamp"]; 
  77.     $nonce = $_GET["nonce"];   
  78.   
  79.     $token = TOKEN; 
  80.     $tmpArr = array($token$timestamp$nonce); 
  81.     sort($tmpArr); 
  82.     $tmpStr = implode( $tmpArr ); 
  83.     $tmpStr = sha1( $tmpStr ); 
  84.   
  85.     if$tmpStr == $signature ){ 
  86.       return true; 
  87.     }else
  88.       return false; 
  89.     } 
  90.   } 
  91.   
  92. ?> 

 

Tags: php微信开发 php关注事件

分享到: