微信公众平台PHP示例一

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015-12-18
 * Time: 21:51
 */
define("TOKEN","weixin");
$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_strin);

        $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,'Simp',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);
                echo $resultStr;
            }
        }
        else
        {
            echo "";
            exit;
        }


    }
}
原文地址:https://www.cnblogs.com/cb168/p/5058651.html