php取微信名字和头像,获取微信昵称、头像等信息方法
在PHP文件里加入以下代码:
require_once(getUserInfo/getUserInfo.php); //获取微信信息php
$test = new Webweixin();
$userinfo = $test->get_userinfo();
print_r(headimgurl:.$userinfo['headimgurl'].openid:.$userinfo['openid'].nickname:.$userinfo['nickname'].city:.$userinfo['city'].province:.$userinfo['province'].country:.$userinfo['country'].sex:.$userinfo['sex']);
?>
getgetUserInfo.php文件:
require_once(weixin.config.php);
class Webweixin
{
//APPID 默认是服务号
var $APPID = APPID1;
var $APPSECRET = APPSECRET1;
//用户方信息(存储当前交互用户的操作状态,以及状态时效)
var $_client = array('wx_id'=>'', 'user_id'=>0, 'act'=>'', 'exp'=>0, 'token'=>'','userdata'=>'');
var $wxu_mod;
var $CODE = '';
//var $_userinfo;
public function get_userinfo()
{
$this->APPID = 'wxd1a93f73a10670a1';
$this->APPSECRET = '2d47501a563bade9d74601d36255d1e7';
if (isset($_GET['code']))
{
$this->CODE = $_GET['code'];
$userinfo = $this->getUserInfo();
//$_userinfo = $userinfo;
//$json_data = json_decode($response);
//print_r($userinfo);
//.city:.$json_data->{'city'}.province:.$json_data->{'province'}
}
return $userinfo;
}
function __construct()
{
}
public function getUserInfo()
{
$accessToken = $this->getAccessToken();
$cfg['ssl'] = true;
//https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
$userinfo = $this->__curlOpen(https://api.weixin.qq.com/sns/userinfo?access_token=.$accessToken.&openid=.$this->_client['wx_id'].'&lang=zh_CN', $cfg);
$userinfo = json_decode($userinfo,true);
return $userinfo;
}
/**
* 获取ACCESS TOKEN
*/
public function getAccessToken($getHTTP = false)
{
$isCurl = true;
/*
$tokenfile = ROOT_PATH . /temp/TOKEN_WEB;
$token = file_exists($tokenfile)?file_get_contents($tokenfile):'';
if($token)
{
$token = json_decode($token,true);
if( time()-$token['access_time'] < $token['expires_in']){
$isCurl = false;
}
}*/
if($isCurl || $getHTTP)
{
//https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
$cfg['ssl'] = true;
$token = $this->__curlOpen(https://api.weixin.qq.com/sns/oauth2/access_token?appid=.$this->APPID.&secret=.$this->APPSECRET.&code=.$this->CODE.&grant_type=authorization_code, $cfg);
$token = json_decode($token,true);
$token['access_time'] = time();
//file_put_contents($tokenfile, json_encode($token), LOCK_EX);
}
$this->_client['wx_id'] = $token['openid'];
//$client = $this->wx_user();
if($client){
$this->_client = $client;
}else{
//$this->wx_user('add');
}
return $token['access_token'];
}
public function __curlOpen($url, $cfg)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//isset($cfg['post']) && curl_setopt($ch, CURLOPT_CUSTOMREQUEST, POST);
//if($cfg['ssl'])
//{
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//}
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
//isset($cfg['post']) && curl_setopt($ch, CURLOPT_POSTFIELDS, $cfg['post']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//echo qqqqqqqqqqqqqq;
$result = curl_exec($ch);
if (curl_errno($ch))
{
//echo wwwwwwwwwww;
return curl_error($ch);
}
//echo bbbbbbbbb;
curl_close($ch);
return $result;
}
//微信用户信息操作
public function wx_user($act='')
{
if($this->_client['wx_id'])
{
$this->wxu_mod = &m(weixinuser);
if($act=='add')
{
$this->wxu_mod->add($this->_client);
}elseif($act=='edit'){
$this->wxu_mod->edit(wx_id='.$this->_client['wx_id'].', $this->_client);
}else{
$client = $this->wxu_mod->get(wx_id='.$this->_client['wx_id'].');
return $client;
}
}
}
/*$scope : snsapi_base / snsapi_userinfo*/
public function makeStartUrl($url, $state = '', $scope = 'snsapi_userinfo')
{
//https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
$base_url = https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->APPID}&redirect_uri=;
//$base_url .= rawurlencode($url);
$base_url .= $url;
$base_url .= &response_type=code&scope={$scope}&state={$state}#wechat_redirect;
return $base_url;
}
}
?>
weixin.config.php文件:
#define APPID1 wxd1a93f73a10670a1
#define APPSECRET1 2d47501a563bade9d74601d36255d1e7
?>
通过以上即可实现获取微信用户信息。
php取微信名字和头像,获取微信昵称、头像等信息方法相关推荐
- 微信小程序【获取用户昵称头像和昵称(附源码)】
获取用户昵称头像和昵称 wx.getUserProfile bindgetuserinfo 登录过程 前端源码:https://pan.baidu.com/s/1uz2Gm2FMB-8RFVkhlHY ...
- 微信小程序 - 最新获取用户昵称 / 头像(wx.getUserProfile 接口被废弃后的代替方案)详细教程,2022 年之后的所有微信小程序,获取用户信息最新详细教程,附带示例源代码
前言 由于官方修改了 "用户头像昵称获取规则" ,导致网上几乎所有教程全部失效,本文来做最新详细教程. 2022 年往后(官方废弃了 wx.getUserProfile 接口),本 ...
- 微信小程序登录获取不到头像和昵称解决办法!
微信小程序登录获取不到头像和昵称主要原因是:小程序wx.getUserProfile接口被收回! 大家可以按照文档操作↓ PS: 针对小程序wx.getUserProfile接口将被收回后做出的授权调 ...
- 微信公众号H5页面获取用户昵称头像等信息(Java)
H5页面获取微信用户信息操作流程 (一)获取微信权限,由微信用户确认 (二)获取相应的ACCESS_TOKEN和OPENID信息 (三)根据ACCESS_TOKEN和OPENID信息获取相应的用户信息 ...
- 微信小程序——最新获取用户昵称和头像的方法总结
前段时间微信小程序对获取用户昵称和头像方法进行了更新,网上很多的文章都已经不适用了,这里简单总结一下 首先,传统接口wx.getUserInfo的效果会弹出一个给用户的弹窗,需要用户授权,经过测试传统 ...
- Spring学习笔记(二十三)——实现网站微信扫码登录获取微信用户信息Demo
目录 微信扫码登录介绍 开发步骤 微信扫码登录示例 微信开放文档 遇到的问题 使用第三方工具实现网站微信扫码登录 开发前介绍 开发步骤 微信扫码登录获取微信用户信息Demo实现流程 实现效果 实现过程 ...
- uniapp - 编译微信小程序项目的微信授权登录、获取微信手机号登录、最新版微信直接登录、手机与验证码登录的示例源码(适用于 uniapp 微信小程序项目,源代码直接开箱即用)超级详细的代码及注释
效果图 uniapp 项目编译微信小程序,一些常见的登录方式及源代码,示例代码干净整洁无BUG拿来即用. 本文示例实现了 uniapp 微信小程序项目的登录功能,包含微信授权登录.获取微信手机号登录. ...
- python爬取网站时,一键获取headers、url等信息(真的是让我爬取网站时,省了不少力气,作为小秘密分享给大家喽)
python爬取网站时,一键获取headers.url等信息 (真的是让我爬取网站时,省了不少力气,作为小秘密分享给大家喽) 作为Python的使用者,我今天就和大家来分享分享我学习python的经验 ...
- 微信小程序如何获取微信昵称和头像
<open-data type="userAvatarUrl"></open-data> 之前是使用open-data获取微信昵称和头像,但是更新之后,小程 ...
最新文章
- mysql 在存储过程出现的问题,记录一下
- php 上传文件实例 注册账号
- 【错误记录】Android 中调用 Process 命令行执行指令 ( java.lang.IllegalThreadStateException: process hasn‘t exited )
- Java基础(五)继承和多态
- 最长回文子串(Longest Palindromic Substring)
- Spring Cloud 入门 之 Ribbon 篇(二)
- Android应用开发实例篇(1)-----简易涂鸦板
- nil和NSNull
- ASP.NET部署与安装_MSI制作图文教程.
- idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...
- 【转】线程、Thread类和线程终止
- 适应adblock plus 规则的简单正则表达式匹配
- 欧姆龙cp1h指令讲解_欧姆龙cp1h常用指令学习(十二)块程序
- 5款最好用的免费3D建模软件(附下载链接)
- Unity Compute Shader入门(大量对象随机赋值颜色实验)
- ZigBee模块——从新冠、癌症防治看物联网智慧医疗的应用
- 大数据毕业设计选题推荐(二)
- 2023洗地机哪个牌子的好用?洗地机排行榜推荐
- 把普通路由器扩展为WIFI广告路由器
- 计算机登录忘记密码怎么办,电脑登录密码忘记了怎么办
热门文章
- 将scss文件转换成css文件
- 开源 多进程 框架 c++_有哪些值得推荐的c/c++开源框架与库
- ndroid 提供 MP3 录音功能.边录边转码,暂停可播,方法安全,回调丰富,6.0 以下权限也适配了
- PHP面试题大全【PHP基础部分】
- 7 Python中的函数
- python计算机程序设计语言的是-Python是一种面向对象的解释型计算机程序设计语言...
- 虚拟机上安装苹果系统
- golang大厂面试1
- php网页完成后播放音乐提醒,js+php 实现定时查询数据播放提示音乐
- 苹果电脑录屏,掌握这两种方法就足够