您现在的位置是:首页 > 后端 > PHP网站首页PHP

微信接口文件

简介新建一个index.php文件,代码如下,上传到服务器 微信公众平台页面中: url填写你服务器地址 Token填写你下面的代码中 define("TOKEN", "weixin");

新建一个index.php文件,代码如下,上传到服务器 微信公众平台页面中: url填写你服务器地址 Token填写你下面的代码中 define("TOKEN", "weixin");

<?php
/**
 * wechat php test
 */

define("TOKEN", "weixin"); //写你的TOKEN
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
   $wechatObj->valid();
}else{
   $wechatObj->responseMsg();
}

class wechatCallbackapiTest
{
   public function valid()
   {
       $echoStr = $_GET["echostr"];
       if($this->checkSignature()){
           header('content-type:text');
           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, '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($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;
       }
   }
}
?>


文章评论

Top