关闭

最简单的PHP接入微信消息事件

标签: php微信
157人阅读 评论(0) 收藏 举报
分类:

话不多说直接Coding

<?php

header("Content-Type:text/html; charset=utf-8");  
define("TOKEN", "weixin");  

$wechatObj = new wechatCallbackapiTest();  
//$wechatObj->valid();  
$wechatObj->responseMsg();
// 校验
// 校验


class wechatCallbackapiTest  
{  
    public function valid()  
    {  
        $echoStr = $_GET["echostr"];  

        //valid signature , option  
        if($this->checkSignature()){  
            header('content-type:text');  
            echo $echoStr;  
            exit;  
        }  
    }   

    public function responseMsg()
    {
        $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;
                $type = $postObj->MsgType;
                $customrevent = $postObj->Event;
                $keyword = trim($postObj->Content);
                $scanresult=trim($postObj->ScanCodeInfo->ScanResult);
                $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($type=="event" and $customrevent=="subscribe"){
                    $contentStr = "欢迎关注\n";                    
                    $msgType = "text";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }   
                //省略微信多类事件。。。
                else{

                    $this->textMsg($fromUsername,$toUsername,$time);
                }

        }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;  
        }  
    }
    //接入多客服
    protected function textMsg($fromUsername,$toUsername,$time){
        $textTpl="<xml>
                <ToUserName><![CDATA[%s]]></ToUserName>
                <FromUserName><![CDATA[%s]]></FromUserName>
                <CreateTime>%s</CreateTime>
                <MsgType><![CDATA[transfer_customer_service]]></MsgType>

                </xml>";
        //$msgType="transfer_customer_service";
        $resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time);
        echo $resultStr;
    }

}  

?>
1
0
查看评论

微信开发中消息接收、回复及事件处理通用函数与php语法的详解(index.php文件)

/*     方倍工作室 http://www.fangbei.org/     CopyRight 2015 All Rights Reserved */ header('Content-type:text'); defin...
  • herenoname
  • herenoname
  • 2016-09-25 15:48
  • 1950

PHP微信公众平台开发:配置、微信api接入验证

主要记录php微信公众号开发的基础和对于代码的理解,本篇基础涉及微信公众平台开发者基本配置,功能初始化,包含微信api接入验证
  • ding_zhi_jie
  • ding_zhi_jie
  • 2016-10-31 10:43
  • 3928

微信实验五、PHP后台0元部署

一、实验目的 1、掌握微信开发PHP后台部署。 二、实验内容 1、申请服务器资源。 2、部署PHP后台。 三、实验步骤及过程 发布PHP后台程序需要公网地址,以下我们将介绍申请服务器资源与部署PHP后台程序。
  • u013487761
  • u013487761
  • 2017-04-04 22:12
  • 448

微信小程序request请求后台接口php简单实例

后台php接口:http://www.vueyun.com/good/info 没有处理数据,直接返回了,具体再根据返回格式处理 public function getGoodInfo(Request $request) { $goods_datas = $this-&g...
  • qq_34827048
  • qq_34827048
  • 2017-08-02 10:16
  • 9035

php 实现发送微信模板消息

  • 2015-05-19 13:21
  • 3KB
  • 下载

最简单的PHP接入微信消息事件

话不多说直接Coding<?phpheader("Content-Type:text/html; charset=utf-8"); define("TOKEN", "weixin"); $wechatObj = new wech...
  • u013063880
  • u013063880
  • 2017-11-08 11:45
  • 157

php 微信公众平台接入 代码

  • 2017-02-09 10:08
  • 1KB
  • 下载

全网发布接入检测说明 微信第三方平台

本人小菜鸟一只,为了自我学习和交流PHP(jquery,linux,lamp,shell,javascript,服务器)等一系列的知识,小菜鸟创建了一个群。希望光临本博客的人可以进来交流。寻求共同发展。搭建平台。本人博客也有许多的技术文档,希望可以为你提供一些帮助。 QQ群: 19184816...
  • yafei450225664
  • yafei450225664
  • 2015-10-30 15:06
  • 3939

PHP微信开发---简单的文本自动回复

首先,先去微信公众平台注册一个账号(注册要填的东西挺多的),注册好之后,登录进去。 可以看到左侧的“开发者中心”,开启开发者中心前好像还要你完善一些资料,按照步骤完善即可。进入开发者中心之后,先去编辑 修改配置,修改配置的时候,注意: URL是你...
  • misakaqunianxiatian
  • misakaqunianxiatian
  • 2015-10-25 10:22
  • 5693

php微信 - 1服务器接入

微信服务接入
  • qq_32562501
  • qq_32562501
  • 2017-05-31 12:10
  • 146
    个人资料
    • 访问:1556次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:3篇
    • 译文:0篇
    • 评论:3条
    文章分类