主頁 > 知識庫 > php微信開發(fā)之關(guān)注事件

php微信開發(fā)之關(guān)注事件

熱門標(biāo)簽:沈陽人工智能電銷機(jī)器人公司 合肥外呼系統(tǒng)app 寶安400電話辦理 h5 地圖標(biāo)注 哈爾濱400電話辦理到易號網(wǎng) 拉薩打電話機(jī)器人 智能外呼電銷系統(tǒng) 電銷機(jī)器人-快迭智能 高識別電銷機(jī)器人

本文實例為大家分享了php微信關(guān)注事件的具體代碼,供大家參考,具體內(nèi)容如下

?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
 public function valid()
 {
  $echoStr = $_GET["echostr"];

  //valid signature , option
  if($this->checkSignature()){
   echo $echoStr;
   exit;
  }
 }

 public function responseMsg()
 {
  //get post data, May be due to the different environments
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  //extract post data
  if (!empty($postStr)){

    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $type = $postObj->MsgType;
    $customevent = $postObj->Event;
    $keyword = trim($postObj->Content);
    $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>";    
    if($type=="event" and $customrevent=="subscribe"){
     $contentStr = "感謝你的關(guān)注\n回復(fù)1查看聯(lián)系方式\n回復(fù)2查看最新資訊\n回復(fù)3查看法律文書";
     $msgType = "text";
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
     echo $resultStr;
     } 
    if(!empty( $keyword ))
    {        
     $msgType = "text";
     if($keyword=="1"){
     $contentStr = "qiphon";}
     if($keyword=="2"){
     $contentStr = "test 。";}
     if($keyword=="3"){
     $contentStr = "test333";}     
     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
     echo $resultStr;
    }else{
     echo "Input something...";
    }

  }else {
   echo "";
   exit;
  }
 }

 private function checkSignature()
 {
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"]; 

  $token = TOKEN;
  $tmpArr = array($token, $timestamp, $nonce);
  sort($tmpArr);
  $tmpStr = implode( $tmpArr );
  $tmpStr = sha1( $tmpStr );

  if( $tmpStr == $signature ){
   return true;
  }else{
   return false;
  }
 }
}

?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • php判斷用戶是否關(guān)注微信公眾號
  • 微信公眾號判斷用戶是否已關(guān)注php代碼解析
  • php微信公眾號開發(fā)之歡迎老朋友

標(biāo)簽:威海 巴中 梅州 山東 林芝 張家口 成都 泰州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php微信開發(fā)之關(guān)注事件》,本文關(guān)鍵詞  php,微信,開,發(fā)之,關(guān)注,事件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php微信開發(fā)之關(guān)注事件》相關(guān)的同類信息!
  • 本頁收集關(guān)于php微信開發(fā)之關(guān)注事件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章