用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组!
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2016/8/9
* Time: 15:31
*/
echo
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no\">"
;
$code
=
$_GET
[
'code'
];
//echo "code: ";
//echo $code;
$getAccess
=
new
getWxAccess();
$getAccess
->getCode();
class
getWxAccess{
public
function
__construct()
{
}
public
function
getCode(){
$appid
=
'wx8109981b74f329f6'
;
$secret
=
'd5cc4a9838959c3bd6f814ed79afd811'
;
$code
=
$_GET
[
'code'
];
$url
=
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"
;
// echo $url;
$ch
= curl_init();
curl_setopt(
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER,1 );
$res
= curl_exec(
$ch
);
curl_close(
$ch
);
// if(curl_error($ch)){
// var_dump(curl_error($ch));
// }
$arr
= json_decode(
$res
, true);
//得到access_token
// var_dump($arr);
// echo $arr["access_token"];
$this
-> getUserInfo(
$arr
[
"access_token"
],
$arr
[
"openid"
]);
}
public
function
getUserInfo(
$accessToken
,
$openid
){
$url
=
"https://api.weixin.qq.com/sns/userinfo?access_token=$accessToken&openid=$openid&lang=zh_CN"
;
$ch
= curl_init();
curl_setopt(
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER,1 );
$res
= curl_exec(
$ch
);
curl_close(
$ch
);
// if(curl_error($ch)){
// var_dump(curl_error($ch));
// }
$arr
= json_decode(
$res
, true);
//获取用户信息
// var_dump($arr);
echo
"<h1>用户名:"
.
$arr
[
'nickname'
].
"</h1>"
;
echo
"<h1>头像:<img style='width: 10%;text-align: center' src="
.
$arr
[
'headimgurl'
].
"></h1>"
;
if
(
$arr
[
'sex'
] ==
'1'
){
$arr
[
'sex'
] =
'男'
;
}
else
{
$arr
[
'sex'
] =
'女'
;
}
echo
"<h2>性别:"
.
$arr
[
'sex'
].
"</h2>"
;
echo
"<h3>国家:"
.
$arr
[
'country'
].
"</h3>"
;
}
}
?>