微信開發,獲取TOKEN並快取
阿新 • • 發佈:2019-01-02
使用thinkphp,直接上程式碼:
//獲取token //引數:$apid:微信appid ,$sec:微信access碼 function getToken($apid,$sec){ $asscc = S('access_token'); if( !empty($asscc)){ //判斷快取中有token直接返回token return $asscc; }else{ //快取中沒有執行獲取token $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$apid.'&secret='.$sec; $s = $this->http_curl($url,'get','json');//傳送 $tm = time()+3600;//設定快取時間一般小於兩小時 //放入快取 S('access_token',$s['access_token'],array('type'=>'file','expire'=>$tm)); return $s['access_token'];//快取好之後 返回token } } //curl獲取資料 function http_curl($url,$type='get',$res='json',$arr=''){ //1.初始化curl $ch =curl_init(); //2.設定curl的引數 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); if($type == 'post'){ curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$arr); } curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curlp, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //3.採集 $output =curl_exec($ch); //4.關閉 curl_close($ch); if($res=='json'){ if(curl_error($ch)){ //請求失敗,返回錯誤資訊 return curl_error($ch); }else{ //請求成功,返回錯誤資訊 return json_decode($output,true); } } }