1.打通微信与自己服务器的连接
<?php
//封装成一个微信接口的类 里面放成员方法
define("TOKEN","cailin");//定义token这个量
$echostr = $_GET['echostr'];//随机字符串
//valid();
$wx = new WeixinApi(); //实例化这个类
$wx->valid(); //再调用这个方法
class WeixinApi{
//验证消息
public function valid()
{
if($this->checkSignature())//5.if语句 调用checkSignature判断是否连接成功
{
//echo $echostr;//6.把if封装成一个方法 再把整体封装成一个类
echo $_GET['echostr'];
}else{
echo 'Error';
}
}
//加密签名
private function checkSignature() //4.封装成一个函数
{
//1.接收微信服务器get提交的3个参数
$signature = $_GET['signature']; //加密签名
$timestamp = $_GET['timestamp']; //时间戳
$nonce = $_GET['nonce']; //随机数
//2.加密/校验流程
//将token timestamp nonce 放在数组内 并字典排序
$tmpArr = array(TOKEN,$timestamp,$nonce);
sort($tmpArr,SORT_STRING);
//三个参数拼成字符串进行加密
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
//3.把加密后字符串与signature对比
if($tmpStr == $signature)
{
return ture; //这里返回ture/false 那在上面就要写个if语句
}else{
return false;
}
}
}
复制代码
2.新建一个 index.php 当作入口文件 其余的放在另外一边,写成一个方法类
① index.php 入口文件
require('weixin_oop_api.php');//包含 类文件
define("TOKEN","cailin");
$echostr = $_GET['echostr'];
$wx = new WeixinApi();
$wx->valid();
复制代码
② weixin_oop_api.php 专门放方法
class WeixinApi{
//验证消息
public function valid()
{
if($this->checkSignature())//if语句 调用checkSignature判断是否连接成功
{
//echo $echostr;//6.把if封装成一个方法 再把整体封装成一个类
echo $_GET['echostr'];
}else{
echo 'Error';
}
}
//加密签名
private function checkSignature() //封装成一个函数
{
//1.接收微信服务器get提交的3个参数
$signature = $_GET['signature']; //加密签名
$timestamp = $_GET['timestamp']; //时间戳
$nonce = $_GET['nonce']; //随机数
//2.加密/校验流程
//将token timestamp nonce 放在数组内 并字典排序
$tmpArr = array(TOKEN,$timestamp,$nonce);
sort($tmpArr,SORT_STRING);
//三个参数拼成字符串进行加密
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);
//3.把加密后字符串与signature对比
if($tmpStr == $signature)
{
return ture; //这里返回ture/false 那在上面就要写个if语句
}else{
return false;
}
}
}
复制代码
3.上截图吧