>  기사  >  백엔드 개발  >  PHP 버전의 WeChat 사용자 정의 응답 기능에 대한 자세한 설명

PHP 버전의 WeChat 사용자 정의 응답 기능에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-29 17:42:001664검색

이 글은 주로 WeChat PHP 버전의 사용자 정의 답장 기능을 소개하고, PHP 버전 WeChat 사용자 정의 답장 기능의 설정 및 코드 구현 기술을 완전한 예시 형태로 분석합니다. 도움이 필요한 친구들이 참고할 수 있습니다

자세한 내용은 다음과 같습니다.

서버 구성 후 PHP를 이용하여 자동 답장을 구현할 수 있습니다.

index.php의 코드

<?php
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET[&#39;echostr&#39;])) {
  $wechatObj->valid();
}else{
  $wechatObj->responseMsg();
}
class wechatCallbackapiTest
{
  public function valid()
  {
    $echoStr = $_GET["echostr"];
    if($this->checkSignature()){
      header(&#39;content-type:text&#39;);
      echo $echoStr;
      exit;
    }
  }
  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];
    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );
    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
  public function responseMsg()
  {
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    if (!empty($postStr)){
      $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, 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($keyword == "?" || $keyword == "?") //获取用户信息
      {
        $msgType = "text";
        $contentStr = date("Y-m-d H:i:s",time()); // 回复的内容
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
        echo $resultStr;
      }
    }else{
      echo "";
      exit;
    }
  }
}
?>

효과:

사용자가 입력할 때? 아니면 현재 시간을 얻을 것인가

위 내용은 이 글의 전체 내용이므로 모든 분들의 공부에 도움이 되길 바랍니다.


관련 권장 사항:

PHP MySQL 소개(데이터베이스 관련 지식)

PHP MySQL 작업 및 데이터 읽기 방법

PHP 이메일 보내기 사용 방법

위 내용은 PHP 버전의 WeChat 사용자 정의 응답 기능에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.