php版微信公众平台开发之验证步骤实例详解


Posted in PHP onSeptember 23, 2016

本文实例讲述了php版微信公众平台开发之验证步骤。分享给大家供大家参考,具体如下:

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

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

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

下载好后代码如下:

<?php
/**
 * wechat php test
 * update time: 20141008
 */
//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 (!emptyempty($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(!emptyempty( $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;
}
}
}
?>

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

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

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
url decode problem 解决方法
Dec 26 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
PHP设置进度条的方法
Jul 08 PHP
php简单实现多语言切换的方法
May 09 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 #PHP
php使用glob函数遍历文件和目录详解
Sep 23 #PHP
php版微信发红包接口用法示例
Sep 23 #PHP
基于thinkPHP实现的微信自定义分享功能示例
Sep 23 #PHP
php版微信自动登录并获取昵称的方法
Sep 23 #PHP
php中使用websocket详解
Sep 23 #PHP
PHP用FTP类上传文件视频等的简单实现方法
Sep 23 #PHP
You might like
PHP中feof()函数实例测试
2014/08/23 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
PHP设置进度条的方法
2015/07/08 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
php输出图像的方法实例分析
2017/02/16 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
ie与ff下的event事件使用介绍
2013/11/25 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
为什么是 Python -m
2020/06/19 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
日本最大级玩偶手办购物:あみあみ Amiami
2018/04/23 全球购物
汽车专业人才自我鉴定范文
2013/12/29 职场文书
服装创业计划书范文
2014/02/05 职场文书
职工小家建设活动方案
2014/08/25 职场文书
党员个人自我评价
2015/03/03 职场文书