<?php /** * Created by PhpStorm. * User: Administrator * Date: 2017/5/24 * Time: 14:25 */ define('APPID', "开发者id" ); define('APPSECRET', "开发者密码"); class weixin_class { public static $access_token = null; public static $appid = APPID; public static $appsecret = APPSECRET; //保证Access Token有效 public static function valid() {
//先获取缓存中的access_token,没有或者过期,重新获取access_token $mem = new ICache(); self::$access_token = $mem->get('access_token'); if (empty(self::$access_token)){
//access_token接口路径 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".self::$appid."&secret=".self::$appsecret; //获取access_token
$res = self::getWxAccessToken($url); self::$access_token = $res['access_token']; $mem->set('access_token', self::$access_token,3600); } } // 获取access_token,调用微信接口 public function getWxAccessToken($url){ //初始化 $ch = curl_init(); //设置参数 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //执行 $res = curl_exec($ch); //关闭句柄 curl_close($ch); //检查错误 if(curl_errno($ch)) { echo 'Curl error:'.curl_error($ch); } $arr = json_decode($res,true); return $arr; } // 发送采集请求的方法 public function http_curl($url,$type='get',$res='json',$data=''){ //1.创建连接资源 $ch = curl_init(); //2.设置参数 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //设置超时时间 curl_setopt($ch,CURLOPT_TIMEOUT,10); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); if($type=='post'){ curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); } //3.采集 $output = curl_exec($ch); //4.关闭 curl_close($ch); if(curl_errno($ch)){ return curl_errno($ch); } return json_decode($output,true); } //1.param array 发送模板信息内容 public static function sendMsg($data=NULL) { //access_token拼接发送接口 $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".self::$access_token; $arr = array(
//关注公众号的用户openid "touser"=>"用户openid",
//服务号预设的模板id "template_id"=>"模板id",
//点击模板后链接地址 "url"=>"http://www.baidu.com",
//依据预设的模板填入相应的对应字段的信息 "data"=>array( 'name'=>array( 'value'=>'你好啊', 'color'=>'#173177' ), 'date'=>array( 'value'=>date('Y-m-d H:i:s'), 'color'=>'#173177' ), 'content'=>array( 'value'=>'欢迎光临', 'color'=>'#173177' ) ) ); //数组->json $jsonData = json_encode($arr); //调用curl函数 $res = self::http_curl($url,'post','json',$jsonData); var_dump($res); }