网站地图    收藏   

主页 > php专栏 > php应用 >

php 微信公众平台开发之验证步骤

来源:未知    时间:2015-05-13 09:22 作者:xxadmin 阅读:

[导读] 微信公众平台开发我们现在做得比较多了,下面给各位介绍的是一个入门级别的微信公众平台验证基础知识了,有兴趣的和小编来看看。 开发微信的时候 需要验证一下,在官方开发者中心...

微信公众平台开发我们现在做得比较多了,下面给各位介绍的是一个入门级别的微信公众平台验证基础知识了,有兴趣的和小编来看看。

开发微信的时候 需要验证一下,在官方开发者中心哪里有可以下源代码,登录到 公众帐号后 看到左边的最下角有一个开发者中心点击,然后填写上你相对应的 Token 和 url 然后就可以验证成功的话就可以开发了.

下载微信php验证源代码在 开发者中心 - 开发者文档 - 接口消息 - 验证消息真实 - 拉到最下面就php演示代码.  

下载好后代码如下:

  1. <?php 
  2. /** 
  3.   * wechat php test 
  4.   * update time: 20141008 
  5.   */ 
  6. //define your token 
  7. define("TOKEN""weixin"); 
  8. $wechatObj = new wechatCallbackapiTest(); 
  9. $wechatObj->valid(); 
  10. class wechatCallbackapiTest 
  11. public function valid() 
  12.     { 
  13.         $echoStr = $_GET["echostr"]; 
  14.         //valid signature , option 
  15.         if($this->checkSignature()){ 
  16.         echo $echoStr
  17.         exit
  18.         } 
  19.     } 
  20.     public function responseMsg() 
  21.     { 
  22. //get post data, May be due to the different environments 
  23. $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  24.       //extract post data 
  25. if (!emptyempty($postStr)){ 
  26.                  
  27.               $postObj = simplexml_load_string($postStr'SimpleXMLElement', LIBXML_NOCDATA); 
  28.                 $fromUsername = $postObj->FromUserName; 
  29.                 $toUsername = $postObj->ToUserName; 
  30.                 $keyword = trim($postObj->Content); 
  31.                 $time = time(); 
  32.                 $textTpl = "<xml> 
  33. <ToUserName><![CDATA[%s]]></ToUserName> 
  34. <FromUserName><![CDATA[%s]]></FromUserName> 
  35. <CreateTime>%s</CreateTime> 
  36. <MsgType><![CDATA[%s]]></MsgType> 
  37. <Content><![CDATA[%s]]></Content> 
  38. <FuncFlag>0</FuncFlag> 
  39. </xml>";              
  40. if(!emptyempty$keyword )) 
  41.                 { 
  42.               $msgType = "text"
  43.                 $contentStr = "Welcome to wechat world!"
  44.                 $resultStr = sprintf($textTpl$fromUsername$toUsername$time$msgType$contentStr); 
  45.                 echo $resultStr
  46.                 }else
  47.                 echo "Input something..."
  48.                 } 
  49.         }else { 
  50.         echo ""
  51.         exit
  52.         } 
  53.     } 
  54. private function checkSignature() 
  55.         $signature = $_GET["signature"]; 
  56.         $timestamp = $_GET["timestamp"]; 
  57.         $nonce = $_GET["nonce"]; 
  58. $token = TOKEN; 
  59. $tmpArr = array($token$timestamp$nonce); 
  60.         sort($tmpArr, SORT_STRING); 
  61. $tmpStr = implode( $tmpArr ); 
  62. $tmpStr = sha1( $tmpStr ); 
  63. if$tmpStr == $signature ){ 
  64. return true;  //phpfensi.com 
  65. }else
  66. return false; 
  67. ?> 

TOKEN 修改为你自己想要的 然后在 开发者中心也要写一样的,在验证的过程中 $wechatObj->valid(); 这段代码不能去除这个是验证,验证成功后 我们就可以把 这段 $wechatObj->valid(); 这个注释掉了,然后使用 $wechatObj->responseMsg(); 来进行测试

注意:在开发的时候需要把 $wechatObj->valid(); 给注释掉,不然在手机测试的时候 会没有显示什么.

 
 

 


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论