代码作色测试

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

 
//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj -> valid();
 
class wechatCallbackapiTest {
    public function valid() {
        $echoStr = $_GET["echostr"];
 
        //valid signature , option
        if ($this -> checkSignature()) {
            echo $echoStr;
            exit ;
        }
    }
 
    public function responseMsg() {
        //get post data, May be due to the different environments
        $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;
            $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 (!empty($keyword)) {
                $msgType = "text";
                $contentStr = "Welcome to wechat world!";
                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                echo $resultStr;
            } else {
                echo "Input something...";
            }
 
        } else {
            echo "";
            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;
        }
    }
 
}




posted @ 2014-04-15 21:19  野三坡  阅读(252)  评论(0编辑  收藏  举报