罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 911|回复: 0

php获取微信公众号openID用户信息接口demo

[复制链接]
发表于 2020-4-27 18:55:19 | 显示全部楼层 |阅读模式


  1. <?php
  2. // 公众号的id和secret
  3. $appid = 'wx18835f75daa4e';
  4. $appsecret = '2541bff9214c662e8eb0a42';
  5. $redirecturl='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  6. $url = "https://wx.4yun.top/spwl_oauth.php?oauth_back_url=".urlencode($redirecturl); //进行域名借权处理
  7. session_start();

  8. // 获取code码,用于和微信服务器申请token。 注:依据OAuth2.0要求,此处授权登录需要用户端操作
  9. if(!isset($_GET['code']) && !isset($_SESSION['code'])){
  10.    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {// 手机
  11.         exit("<script>location.href='https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$url}&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect';</script>");              
  12.     }
  13.    echo "<center><img src='https://www.spw8.cn/g/qr/api.php?p=5&text={$redirecturl}'></center>";
  14.   exit;
  15. }
  16.   
  17. // 依据code码去获取openid和access_token,自己的后台服务器直接向微信服务器申请即可
  18. if (isset($_GET['code']) && !isset($_SESSION['token'])){
  19.   $_SESSION['code'] = $_GET['code'];
  20.    
  21.   $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret=".$appsecret."&code=".$_GET['code']."&grant_type=authorization_code";
  22.   $res = https_request($url);
  23.   $res=(json_decode($res, true));
  24.   $_SESSION['token'] = $res;
  25. }

  26. //echo "<pre>";  
  27. //print_r($_SESSION);
  28. //echo "</pre>";
  29.   
  30. // 依据申请到的access_token和openid,申请Userinfo信息。
  31. if (isset($_SESSION['token']['access_token'])){
  32.   $url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$_SESSION['token']['access_token']."&openid=".$_SESSION['token']['openid']."&lang=zh_CN";
  33.   $res = https_request($url);
  34.   $res = json_decode($res, true);
  35.   $_SESSION['userinfo'] = $res;
  36.   
  37.   $userinfo_data=@file_get_contents("wx_userinfo.txt");
  38.   if($res[openid]){
  39.       if(!strpos($userinfo_data,$res[openid])){
  40.       $userinfo_data=@file_put_contents("wx_userinfo.txt",date("Y-m-d H:i:s",time()).var_export($res,TRUE)."\r\n",FILE_APPEND);
  41.       }
  42.   }
  43. }

  44. // cURL函数简单封装
  45. function https_request($url, $data = null)
  46. {
  47.   $curl = curl_init();
  48.   curl_setopt($curl, CURLOPT_URL, $url);
  49.   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
  50.   curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
  51.   if (!empty($data)){
  52.    curl_setopt($curl, CURLOPT_POST, 1);
  53.    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  54.   }
  55.    
  56. ///////////////////////////////////////////////////////////////////////////////////////////   
  57.    
  58.   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  59.   $output = curl_exec($curl);
  60.   curl_close($curl);
  61.   return $output;
  62. }


  63. //这里设置一个退出返回登录页面
  64. if($_GET['op']=="logout"){
  65. //就清除缓存
  66.   $_SESSION = array(); //清除SESSION值.
  67.   if(isset($_COOKIE[session_name()])){  //判断客户端的cookie文件是否存在,存在的话将其设置为过期.
  68.         setcookie(session_name(),'',time()-1,'/');
  69.     }
  70.         session_destroy();  //清除服务器的sesion文件
  71.   exit("<script>history.go(0);</script>");
  72. }

  73. if($res[sex]==1){
  74.     $sex="男";
  75. }elseif($res[sex]==2){
  76.     $sex="女";
  77. }else{
  78.     $sex="未知";
  79. }
  80. if($res[openid]){
  81.     echo "
  82.         <div class='userinfo'>
  83.             <div class='headimg'><img src='{$res[headimgurl]}'></div>
  84.             <div class='nickname'>{$res[nickname]} ({$sex})</div>
  85.             <div>{$res[country]}{$res[province]}{$res[city]} {$res[language]}</div>
  86.             <div class='openid'>{$res[openid]}</div>
  87.             <div><a href='?op=logout'>[退出登录]</a></div>
  88.         </div>
  89.     ";
  90. }
  91. ?>


  92. <meta name="viewport" content="width=device-width, initial-scale=1">
  93. <style>
  94.     .userinfo{width:100%;height:px;background:#0c0;color:;text-align:center;border-radius:10px;}
  95.     .userinfo .headimg img{width:100px;height:100px;border:0;border-radius:100px;padding:10px;}
  96.     .userinfo .nickname{font-weight:800;}
  97.     .userinfo .openid{padding:10px;}
  98. </style>




复制代码
打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 20:34 , Processed in 0.220885 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表