好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

微信公众平台消息接口(PHP)-官方的Demo有问题 -

微信公众平台消息接口(PHP)-官方的Demo有问题

微信公众平台消息接口(PHP)-官方的Demo有问题,下面个人进行了处理,事例代码也跑不通,我研究了一番,终于搞定.

首先: 在你的服务器上上传好一个接口文件,如http://HdhCmsTestphpfensi测试数据/weixin.php  内容如下:

<?php   define( "TOKEN" ,  "weixin" );   define( "MESS" , "输入点啥吧" );   $wechatObj  =  new  wechatCallbackapiTest();   $wechatObj ->valid();   //$wechatObj->responseMsg();     class  wechatCallbackapiTest   {        public   function  valid()       {            $echoStr  =  $_GET [ "echostr" ];             if ( $this ->checkSignature()){                echo   $echoStr ;                exit ;           }       }         public   function  responseMsg()       {            $postStr  =  $GLOBALS [ "HTTP_RAW_POST_DATA" ];            if  (! empty 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 empty (  $keyword  ))               {                    $msgType  =  "text" ;                    $contentStr  = MESS;                    $resultStr  = sprintf( $textTpl ,  $fromUsername ,  $toUsername ,  $time ,  $msgType ,  $contentStr );                    echo   $resultStr ;               } else {                    echo  MESS;               }            } else  {                echo  MESS;                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;           }       }   }   ?> 

然后: 设置回复接口,填好URL和Token(必须跟上面定义的Token一致),这个接口先要验证,成功之后再注释掉$wechatObj->valid(); 这行,同时去掉//$wechatObj->responseMsg();这行的注释.

消息接口就可以使用了,发个消息试试看吧?

查看更多关于微信公众平台消息接口(PHP)-官方的Demo有问题 -的详细内容...

  阅读:42次