PHP获取access_token

Posted 野香蕉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取access_token相关的知识,希望对你有一定的参考价值。

    /**
     * 获取accesstoken
     *
     * @param  int  $id
     * @return 	hinkResponse
     */
    public function AccessToken($appid)
    {
        //获取url
        $file = $this->accesstoken_url;

        if(!file_exists($file)){
            $token = $this->get_accesstoken($appid);
        }else{

            $fileInfo = explode(",",file_get_contents($file));

            if(!empty(trim($fileInfo[0])) && $fileInfo[1] >= time()){
                $token = $fileInfo[0];
            }else{
                $token = $this->get_accesstoken($appid);
            }

        }


        return $token;
    }

    /**
     * 获取token
     */
    private function get_accesstoken($appid)
    {
        $data = [
            "grant_type"=>"client_credential",
            "appid"=>$appid,
            "secret"=>$this->AppSecret
        ];

        $url = $this->url_token;

        $tokeninfo = $this->jsonDecode(https_request($url,$data),"access_token");

        if($tokeninfo){
            $text = $tokeninfo.",".(time()+7000);

            //写入文件中
            $file = $this->accesstoken_url;
    
            if(!file_exists($file)){
                fopen($file,"wb");
            }
            //把值存入文件中
            $myfile = fopen($file,"w");

            fwrite($myfile, $text);//写入文件

            fclose($myfile);//关闭文件
        }

        return  $tokeninfo;
    }

    /**
     * json数据处理
     */
    private function jsonDecode($data,$key)
    {
        $new_data = json_decode($data,true);

        if(array_key_exists($key,$new_data)){
            return $new_data[$key];
        }
        return $data;
    }

 

以上是关于PHP获取access_token的主要内容,如果未能解决你的问题,请参考以下文章

PHP 定时任务获取微信 access_token

PHP 定时任务获取微信 access_token

(实用篇)PHP定时任务获取微信access_token

微信公众号开发——获取access_token(PHP版)

PHP获取access_token

PHP获取access_token