php微信公众号获取openid

class WechatsignController
{
    private $appId = '';
    private $appSecret= '';
    
    function getBaseInfo(){
            //1.获取到code
            $appid=$this->appId;//这里的appid是假的演示用
           $redirect_uri=urlencode("http://syy.bractech.com/patient/wechatsign/getuseropenid");//这里的地址需要http://
            $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
            header('location:'.$url);
    }

    function getUserOpenId(){
        //2.获取到网页授权的access_token
        $appid=$this->appId;//这里的appid是假的演示用
        $appsecret=$this->appSecret;//这里的appsecret是假的演示用
        $code = $_GET['code'];//获取code
        $weixin =  file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code");//通过code换取网页授权access_token
        $jsondecode = json_decode($weixin); //对JSON格式的字符串进行编码
        $array = get_object_vars($jsondecode);//转换成数组
        $openid = $array['openid'];//输出openid
        $this->assign('res',$openid);
    }
}

版权声明:本文为qq_39941918原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。