这里有新鲜出炉的精品教程,程序狗速度看过来!
ThinkPHP是一个开源的PHP框架,是为了简化企业级应用开发和敏捷web应用开发而诞生的。ThinkPHP可以支持windows/Unix/Liunx等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite以及PDO等多种数据库
这篇文章主要介绍了基于thinkPHP3.2实现微信接入及查询tooken值的方法,结合实例形式分析了thinkPHP整合微信接口操作token值查询的具体实现步骤与相关操作技巧,需要的朋友可以参考下
本文实例讲述了基于thinkPHP3.2实现微信接入及查询token值的方法。分享给大家供大家参考,具体如下:
1.在con.fig文件里面配置TOKEN,APPID,APPSECRET值
2.控制器WeixinController代码:
- <?php
- /**
- * 微信父类控制器
- * @author Songle
- *
- */
- namespace Weixin\Controller;
- use Think\Controller;
- 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;
- }
- }
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
来源: http://www.phperz.com/article/17/0731/340159.html