首页 > 开发 > PHP > 正文

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

2024-05-04 22:41:57
字体:
来源:转载
供稿:网友

本文实例为大家分享了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;    }  }}?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持错新站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表