侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

php获取微信openid方法总结

微信(小程序)  /  管理员 发布于 8年前   198

使用微信接口,无论是自动登录还是微信支付我们首先需要获取的就是openid,获取openid的方式有两种,一种是在关注的时候进行获取,这种订阅号就可以获取的到,第二种是通过网页授权获取,这种获取需要的是认证服务号。

今天我要说的是第二种网页授权获取openid。下面是我写的一个关于获取openid的类

app_id}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_userinfo&state={$state}#wechat_redirect";  }   /**   * 获取微信openid   */  public function getOpenid($turl)  {    if (!isset($_GET['code'])){      //触发微信返回code码  $url=$this->get_authorize_url($turl, $this->state); Header("Location: $url");      exit();    } else {      //获取code码,以获取openid      $code = $_GET['code'];      $access_info = $this->get_access_token($code);      return $access_info;    }       }  /**   * 获取授权token网页授权   *    * @param string $code 通过get_authorize_url获取到的code   */  public function get_access_token($code = '')  {   $appid=$this->app_id;   $appsecret=$this->app_secret;        $token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$code."&grant_type=authorization_code";    //echo $token_url;    $token_data = $this->http($token_url);    // var_dump( $token_data);    if($token_data[0] == 200)    {      $ar=json_decode($token_data[1], TRUE);      return $ar;    }         return $token_data[1];  }        public function http($url, $method='', $postfields = null, $headers = array(), $debug = false)  {    $ci = curl_init();    /* Curl settings */    curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);    curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 30);    curl_setopt($ci, CURLOPT_TIMEOUT, 30);    curl_setopt($ci, CURLOPT_RETURNTRANSFER, true);     switch ($method) {      case 'POST':        curl_setopt($ci, CURLOPT_POST, true);        if (!empty($postfields)) {          curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);          $this->postdata = $postfields;        }        break;    }    curl_setopt($ci, CURLOPT_URL, $url);    curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);    curl_setopt($ci, CURLINFO_HEADER_OUT, true);     $response = curl_exec($ci);    $http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);     if ($debug) {      echo "=====post data======\r\n";      var_dump($postfields);       echo '=====info=====' . "\r\n";      print_r(curl_getinfo($ci));       echo '=====$response=====' . "\r\n";      print_r($response);    }    curl_close($ci);    return array($http_code, $response);  } }?>

getOpenid($turl)这个方法就是获取openid的方法。前端调用代码如下:

$openid=isset($_COOKIE['openid'])?$_COOKIE['openid']:'';     if(empty($openid))   {     $wchat=new wchat();     $t_url='http://'.$_SERVER['HTTP_HOST'].'/user.php?act=register';           $info=$wchat->getOpenid($t_url);           if($info){        $openid=$info['openid'];      setcookie('openid',$openid,time()+86400*30);   }         }

以上就是我总结的获取openid的方法啦。

以上就是php获取微信openid的详细内容,更多请关注AIDI其它相关文章!

您可能感兴趣的文章:

  • PHP通过微信跳转的Code参数获取用户的openid(关键代码)


  • 上一条:
    phpsdk+jsapi怎么完成微信支付?
    下一条:
    通过微信公众平台获取公众号文章的方法示例
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • AI Agent
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 微信模板消息改版后发送规则记录(微信订阅消息参数值内容限制说明)(1个评论)
    • 微信支付v3对接所需工具及命令(0个评论)
    • 2023年9月1日起:微信小程序必须备案才能上线运营(0个评论)
    • 腾讯官方客服回应了:微信好友上限约10000个!(1个评论)
    • 2023年做微信小程序的老铁注意:新增收费项、微信小程序获取手机号也收费了(2个评论)
    • 近期文章
    • opencode AI智能体自主规划开发游戏:王者荣耀模拟战游戏初体验!英雄角色开发中...(0个评论)
    • opencode AI智能体自主规划开发游戏:王者荣耀模拟战游戏初体验!(0个评论)
    • opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus(0个评论)
    • Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用(0个评论)
    • Apifox桌面端被曝遭供应链投毒:CDN 脚本被篡改,窃取 SSH 密钥与 Git 凭证(0个评论)
    • 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
    • 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 近期评论
    • test1 在

      opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论 test..
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • Zita 在

      Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论 111222..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 2016-10
    • 2017-10
    • 2018-01
    • 2020-03
    • 2021-06
    • 2021-10
    • 2022-03
    • 2023-02
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-10
    • 2023-11
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客