博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信公众平台开发入门教程_无需整理
阅读量:7247 次
发布时间:2019-06-29

本文共 1568 字,大约阅读时间需要 5 分钟。

  hot3.png

关于消息回复的实例

<?php

/*

    方倍工作室 http://www.cnblogs.com/txw1958/

    CopyRight 2013 www.doucube.com  All Rights Reserved

*/

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()){

            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;

        }

    }

}

?>

转载于:https://my.oschina.net/Majw/blog/469228

你可能感兴趣的文章
Google Jib 即将迎来正式版
查看>>
python高级特性-迭代
查看>>
Android属性设置android:noHistory="true"
查看>>
Jackson对泛型的序列化和反序列化方法汇总
查看>>
玩完自动驾驶,现代又钻研起了机器骨骼和智能房间
查看>>
如何自学人工智能?
查看>>
Linux系统使用普通命令删除不掉的文件处理方法
查看>>
canon iPF 系列保养墨盒清零方法
查看>>
Emulating Neural Synapses through AI
查看>>
Oracle in与exists语句
查看>>
字体大宝库:20款免费的情人节字体
查看>>
让共享单车变得更加智能 看高通在物联网领域的“全覆盖”策略
查看>>
数论 + 公式 - HDU 4335 What is N?
查看>>
Android 蓝牙通信——AndroidBluetoothManager
查看>>
No curses/termcap library found
查看>>
iOS:点击button卡死
查看>>
WebForm-带接口工厂模式的三层架构
查看>>
【逻辑思考】拥有我的知识库是怎样一种感受?
查看>>
在ie8下ext显示的问题
查看>>
百度地图 判断marker是否在多边形内
查看>>