1.在con.fig文件里面配置TOKEN,APPID,APPSECRET值

2.控制器WeixinController代码:<?php

/**

* 微信父类控制器

* @author Songle

*

*/

namespace WeixinController;

use ThinkController;

class WeixinController extends Controller {

private $last_time=null;

private $appid=null;

private $appsecret=null;

function __construct(){

parent::__construct();

$token=C('TOKEN');

$this->appid=C('APPID');

$this->appsecret=C('APPSECRET');

//获取微信服务器GET请求的4个参数

$signature = I('signature');

$timestamp = I('timestamp');

$nonce = I('nonce');

$echostr = I('echostr');

if (! empty ( $echostr) && ! empty ( $signature ) && ! empty ($nonce )) {

//定义一个数组,存储其中3个参数,分别是timestamp,nonce和token

$tempArr = array($nonce,$timestamp,$token);

//进行排序

sort($tempArr,SORT_STRING);

//将数组转换成字符串

$tmpStr = implode($tempArr);

//进行sha1加密算法

$tmpStr = sha1($tmpStr);

//判断请求是否来自微信服务器,对比$tmpStr和$signature

if($tmpStr == $signature)

{

echo $echostr;

}

exit();

}

}

/**

* 获取tooken值

*/

public function getTooken(){

$this->last_time = 1448012924;

$access_token = "填写上一次的token值"; //需要替换成自己的

if(time() > ($this->last_time + 7200))

{

//GET请求的地址

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->appsecret}";

$access_token_Arr = $this->https_request($url);

$this->last_time = time();

return $access_token_Arr['access_token'];

}

return $access_token;

}

//https请求(支持GET和POST)

public function https_request($url,$data = null)

{

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

if(!empty($data))

{

curl_setopt($ch,CURLOPT_POST,1); //模拟POST

curl_setopt($ch,CURLOPT_POSTFIELDS,$data); //POST内容

}

$outopt = curl_exec($ch);

curl_close($ch);

$outopt = json_decode($outopt,true);

return $outopt;

}

}

mysql设置Tooken过期时间_基于thinkPHP3.2实现微信接入及查询token值的方法相关推荐

  1. Mysql设置binlog过期时间并自动删除

    问题: Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间.解决方案: 出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作.1.查看binl ...

  2. mysql创建新闻发布时间_基于PHP+mysql实现新闻发布系统的开发

    新闻发布系统 1. 系统简介 一个简单的新闻系统,包含了四个功能,增删改查,利用PHP语言,结合了MySQL数据库,开发工具用的是Dreamweaver. 2.数据库设计 -- 数据库: `newsd ...

  3. @cacheable 设置过期时间_缓存面试三连击——聊聊Redis过期策略?内存淘汰机制?再手写一个LRU 吧!...

    大家好,今天我和大家想聊一聊有关redis的过期策略的话题. 听到这里你也许会觉得:"我去,我只是个日常搬砖的,这种偏底层的知识点,我需要care吗?" 话虽如此·,但是兄die, ...

  4. redis查看key的过期时间_面试官:你在Redis中设置过带过期时间的Key吗?

    点击上方小伟后端笔记关注公众号 每天阅读Java干货文章 熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过 ...

  5. redis list设置过期时间_面试官:你在Redis中设置过带过期时间的Key吗?

    点击上方小伟后端笔记关注公众号 每天阅读Java干货文章 熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过 ...

  6. 设置过期时间_在Redis中设置了过期时间的Key,需要注意哪些问题?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:千山qianshan juejin.im/post/5d6b ...

  7. apache 设置session超时时间_深入分析 Session 和 Cookie,看这篇就对了

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 第一时间与你相约 每日英文 Promise yourself to be so strong that nothing can ...

  8. mysql8 设置binlog过期时间

    mysql8 设置binlog过期时间 mysql8中 使用binlog_expire_logs_seconds 设置日志过期时间,废弃参数:expire_logs_days mysql> sh ...

  9. 在Redis中设置了过期时间的Key,需要注意哪些问题?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:千山qianshan juejin.im/post/5d6b ...

最新文章

  1. R语言绘制堆叠的环状条形图
  2. 人工智能改变未来教育的5大方式
  3. monkeyrunner无法运行的问题解决方案总结
  4. 【BOM精讲】BOM 入门基本常识
  5. hadoop java访问_Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群
  6. 将 75000 行原生 iOS 应用程序移植到 Flutter 后,结果太惊讶!
  7. NO.164 禅道的自定义功能:导航和主页的自定义
  8. chromium/chrome内核修改、SEO快排搭建(2022最新源码)
  9. k620显卡 unreal_nvidia quadro k620是什么显卡
  10. linux zip -e,在 Linux 上压缩文件:zip 命令的各种变体及用法
  11. 80004005错误代码_0x80004005,手把手教你解决0x80004005错误代码的方法
  12. 韩咏梅:幸福只需要七分饱(转自新加坡联合早报)
  13. 拼多多搜索词统计 API接口操作展示说明
  14. android平板电脑的虚拟键盘,win10平板电脑不弹出虚拟键盘的两种解决方法
  15. 【标准】Oracle Optimal Flexible Architecture(OFA)简介
  16. 嵌入式应用软件任务划分的原则
  17. package.json中private选项的作用
  18. ubuntu/linux trash-cli 删除文件到回收站 类似回收站机制的删除
  19. 还不知道怎么制作用户体验地图?这份超全攻略送给你
  20. 文章摘要智能提取【基于BERT技术】

热门文章

  1. android源码分析-深入MessageQueue
  2. Linux上常用的安全技术iptables与squid代理服务器
  3. Scala swing和FX
  4. 如何免费使用数据挖掘软件RapidMiner - 申请学生许可证
  5. .NET Framework 4.7 安装
  6. 获取两个数百分比的值
  7. Hibernate基本配置
  8. Android_(消息提示)多种使用Toast的消息提示
  9. 不得不知的小程序基本知识
  10. 使用elk+redis搭建nginx日志分析平台(引)