页面载入中...

当前位置:首页 > 技术资料 > php相关 > php相关

php微信公众号开发之关键词回复

温馨提示:本信息由会员搜集整理发布,您如有异议可以 举报 或者 版权申诉
本文实例为大家分享了php微信公众号开发之关键词回复的具体代码,供大家参考,具体内容如下目标: 消息回复 关键词回复 utf8编码 index.php<&#63;php/** * wechat php test *///define your tokendefine("

本文实例为大家分享了php微信公众号开发之关键词回复的具体代码,供大家参考,具体内容如下

目标:

  • 消息回复
  • 关键词回复
  • utf8编码


index.php

<?php/** * wechat php test *///define your tokendefine("TOKEN", "jiekou");$wechatObj = new wechatCallbackapiTest();$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;        $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(!empty( $keyword ))        {          $msgType = "text";          switch ($keyword)          {          case "1";          $contentStr = "公司简介!";          break;          case "2";          $contentStr = "最新优惠!";          break;          default;          $contentStr = "欢迎光临!";          }          $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;    }  }}?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持金聪精品

  

延伸阅读:

    无相关信息
  
 

php微信公众号开发之关键词回复