• 技术文章 >后端开发 >php教程

    PHP之微信服务号如何获取openid

    little bottlelittle bottle2019-04-28 14:17:50转载1735
    本篇文章主要讲述了用PHP实现微信服务号获取openid,具有一定参考价值,感兴趣的朋友可以了解一下。

        public function tetst(){
          if(!isset($_GET['code'])){
                  $APPID = $this->app_id;
                  $ran = rand(1,100); //预防缓存
                  $REDIRECT_URI = 'http://www.onedayoneclass.com/Home/Index/tetst?number='.$ran.''; //一定写上http://
                  $scope='snsapi_userinfo';
                  $url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state=wx'.'#wechat_redirect';
                  //加缓存 随机数
                  header("Location:".$url);
              }else{
                $appid = $this->app_id;
                $secret = $this->app_secret;
                 $code = $_GET["code"];
                 $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
                 $ch = curl_init();
                 curl_setopt($ch,CURLOPT_URL,$get_token_url);
                 curl_setopt($ch,CURLOPT_HEADER,0);
                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
                 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
                 $res = curl_exec($ch);
                 curl_close($ch);
                 $json_obj = json_decode($res,true);
                 //根据openid和access_token查询用户信息
                 $access_token = $json_obj['access_token'];
                 $openid = $json_obj['openid'];
                 $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN';
                 
                 $ch = curl_init();
                 curl_setopt($ch,CURLOPT_URL,$get_user_info_url);
                 curl_setopt($ch,CURLOPT_HEADER,0);
                 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
                 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
                 $res = curl_exec($ch);
                 curl_close($ch);
                 
                 //解析json
                 $user_obj = json_decode($res,true);
                 $_SESSION['user'] = $user_obj;
                 print_r($user_obj);
             }
        }

    结果:

    相关教程:PHP视频教程

    以上就是PHP之微信服务号如何获取openid的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:PHP 微信
    上一篇:PHP学习之浅谈if与switch的使用与区别 下一篇:PHP实现部分字符隐藏(隐藏手机号中间部分,只保留字符串首尾)
    千万级数据并发解决方案

    相关文章推荐

    • PHP 微信分享,QQ分享• PHP 微信公众号开发,关键字回复使用switch出错 • thinkPHP 微信公众号开发,关键字回复使用switch出错• php 微信获取用户信息全码
    1/1

    PHP中文网