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 相关文章推荐
我常用的几个类
Oct 09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
ThinkPHP之import方法实例详解
Jun 20 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 PHP
PHP版微信公众平台红包API
Apr 02 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
使用Codeigniter重写insert的方法(推荐)
Mar 23 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
php定期拉取数据对比方法实例
Sep 22 PHP
php判断目录存在的简单方法
Sep 26 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
dedecms模版制作使用方法
2007/04/03 PHP
php判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
十大使用PHP框架的理由
2015/09/26 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
php生成与读取excel文件
2016/10/14 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python利用ansible分发处理任务
2015/08/04 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
python中range()与xrange()用法分析
2016/09/21 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
搞笑婚礼主持词开场白
2015/11/24 职场文书