最簡(jiǎn)單的PHP接入微信消息事件

話不多說(shuō)直接Coding

<?php

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

$wechatObj = new wechatCallbackapiTest();  
//$wechatObj->valid();  
$wechatObj->responseMsg();
// 校驗(yàn)
// 校驗(yàn)


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 = "歡迎關(guān)注\n";                 
                    $msgType = "text";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }   
                //省略微信多類(lèi)事件嬉探。擦耀。。
                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;
    }
    
}  
  
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甲馋,一起剝皮案震驚了整個(gè)濱河市埂奈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌定躏,老刑警劉巖账磺,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異痊远,居然都是意外死亡垮抗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)碧聪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)冒版,“玉大人,你說(shuō)我怎么就攤上這事逞姿〈俏耍” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵滞造,是天一觀的道長(zhǎng)续室。 經(jīng)常有香客問(wèn)我,道長(zhǎng)谒养,這世上最難降的妖魔是什么挺狰? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮买窟,結(jié)果婚禮上丰泊,老公的妹妹穿的比我還像新娘。我一直安慰自己始绍,他們只是感情好瞳购,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著亏推,像睡著了一般学赛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上径簿,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天罢屈,我揣著相機(jī)與錄音,去河邊找鬼篇亭。 笑死缠捌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播曼月,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谊却,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了哑芹?” 一聲冷哼從身側(cè)響起炎辨,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎聪姿,沒(méi)想到半個(gè)月后碴萧,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡末购,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年破喻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盟榴。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡曹质,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出擎场,到底是詐尸還是另有隱情羽德,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布迅办,位于F島的核電站宅静,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏礼饱。R本人自食惡果不足惜坏为,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一究驴、第九天 我趴在偏房一處隱蔽的房頂上張望镊绪。 院中可真熱鬧,春花似錦洒忧、人聲如沸蝴韭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)榄鉴。三九已至,卻和暖如春蛉抓,著一層夾襖步出監(jiān)牢的瞬間庆尘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工巷送, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驶忌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓笑跛,卻偏偏與公主長(zhǎng)得像付魔,于是被迫代替她去往敵國(guó)和親聊品。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容