利用php怎么实现一个自动登录微信并获取昵称的功能

  介绍

这篇文章将为大家详细讲解有关利用php怎么实现一个自动登录微信并获取昵称的功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

/* *   *,获取当前页面完整URL地址   */function  get_url (), {   sys_protocal 美元;=,收取($ _SERVER [& # 39; SERVER_PORT& # 39;]),,,, $ _SERVER [& # 39; SERVER_PORT& # 39;],==, & # 39; 443 & # 39;, ?, & # 39; https://& # 39;,:, & # 39; http://& # 39;;   _SERVER php_self 美元;=,[& # 39;PHP_SELF& # 39;], ?, $ _SERVER [& # 39; PHP_SELF& # 39;],:, $ _SERVER [& # 39; SCRIPT_NAME& # 39;];   path_info 美元;=,收取($ _SERVER [& # 39; PATH_INFO& # 39;]), ?, $ _SERVER [& # 39; PATH_INFO& # 39;],:, & # 39; & # 39;;   relate_url 美元;=,收取($ _SERVER [& # 39; REQUEST_URI& # 39;]), ?, $ _SERVER [& # 39; REQUEST_URI& # 39;],:, php_self美元。(收取($ _SERVER [& # 39; QUERY_STRING& # 39;]), ?, & # 39; ? & # 39;。$ _SERVER [& # 39; QUERY_STRING& # 39;],:, path_info美元);   return  sys_protocal美元。(收取($ _SERVER [& # 39; HTTP_HOST& # 39;]), ?, $ _SERVER [& # 39; HTTP_HOST& # 39;],:, & # 39; & # 39;)。relate_url美元;   }   $ wxch_config =, db 美元;→,getRow (“SELECT  *,得到“ecs_weixin_config”, WHERE “id”,=, 1“);   时间=美元appid  $ wxch_config [& # 39; appid& # 39;];   时间=美元appsecret  $ wxch_config [& # 39; appsecret& # 39;];   $ APPID =, appid美元;   美元SCRETID =$ appsecret;   如果(! $ _SESSION [& # 39; user_id # 39;),,,,大小写敏感($ _SERVER [& # 39; HTTP_USER_AGENT& # 39;],, & # 39; MicroMessenger& # 39;), !==, false) {   if (!收取($ _GET[& # 39;代码# 39;)))   {   $ backurl =, get_url ();=//url 美元、美元jsApi→createOauthUrlForCode ($ backurl);   url 美元;=,“https://open.weixin.qq.com/connect/oauth3/authorize?appid="。美元APPID干净,redirect_uri=?urlencode (backurl美元)干净,response_type=code&范围=snsapi_base&国家=123 # wechat_redirect";//echo  $ url;   标题(“位置:url"美元;);   其他}   {//获取代码码,以获取openid   时间=美元code  $ _GET[& # 39;代码# 39;];=美元url “https://api.weixin.qq.com/sns/oauth3/access_token?appid="。美元APPID !”,秘密=啊C涝猄CRETID !”,代码=啊C涝删蛔约旱拇?grant_type=authorization_code";   $ re =, curl_get_contents1 ($ url);   $ rearr =, json_decode (re美元,真实);   时间=美元openid  $ rearr [& # 39; openid # 39;];//var_dump ($ rearr);//美元jsApi→setCode($代码);=//openid 美元、美元jsApi→getOpenid ();   user_name 美元;=,$ db→getOne (“select  uname 得到ecs_weixin_user  where  wxid =, & # 39; openid} {$ & # 39;“);   如果(openid 美元;,,,! user_name美元){,//注册进入   $ passw =, md5 (& # 39; shanmao.me& # 39; .rand (18650144002));   wxch_user_sql 美元;=,“INSERT  INTO “ecs_weixin_user”, (“wxid”,“喂”),VALUES  (& # 39; openid # 39;美元,& # 39;3 & # 39;)“;   db 美元;→,查询(wxch_user_sql美元);   $ ecs_user_id =, db 美元;→,insert_id ();   如果(ecs_user_id<美元;=0){   退出(& # 39;error  get  insert_id& # 39;);   }   时间=美元url3 “https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential& appid=啊C涝猘ppid !”,秘密=癝CRETID美元;   $ re3 =, curl_get_contents1 ($ url3);   $ re3arr =, json_decode (re3美元,真实);   时间=美元token  $ re3arr [& # 39; access_token& # 39;];   url2 美元;=,“https://api.weixin.qq.com/cgi-bin/user/info?access_token="。美元干净自己的令牌,openid=啊C涝删蛔约旱膐penid和lang=zh_CN";   $ re2 =, curl_get_contents1 ($ url2);   $ rearr2 =, json_decode (re2公司美元,真实);   时间=美元uc_username  $ rearr2[& # 39;昵称# 39;]?美元rearr2[& # 39;昵称# 39;]:,& # 39;doubag& # 39;,只ecs_user_id美元;   $ time =, gmtime ();   user_sql 美元;=,“INSERT  INTO “ecs_users”, (“user_name”、“密码”、“reg_time”), VALUES  (& # 39; uc_username& # 39;美元,& # 39;passw& # 39;美元,& # 39;时间# 39;美元)“;   db 美元;→,查询(user_sql美元);   uc_update 美元;=,“UPDATE  ecs_weixin_user  SET “uname”,=, & # 39; uc_username& # 39;美元,WHERE “uid”,=, & # 39; $ ecs_user_id& # 39;“;   db 美元;→,查询(uc_update美元);   $ user→set_session ($ uc_username);   $ user→set_cookie (uc_username美元,1);   update_user_info ();/*   $ up_uid =, get_affiliate ();   如果(up_uid>美元;0){   sql 美元;=,& # 39;UPDATE  ecs_users  SET  parent_id =, & # 39;,只up_uid 美元;只& # 39;,WHERE  user_id =, & # 39;,只ecs_user_id美元;   db 美元;→查询($ sql);   头(& # 39;地点:,user.php ?列出=1 & # 39;);   } */其他}{   $ user→set_session ($ user_name);   $ user→set_cookie (user_name美元,1);   update_user_info ();   }//setcookie (“sopenid" openid美元,时间()+ 864000,& # 39;/& # 39;);   }   }//var_dump ($ openid);   function  curl_get_contents1 ($ url), {   $ ch =, curl_init ();   CURLOPT_URL, curl_setopt (ch,美元,美元url);   curl_setopt (ch,美元,CURLOPT_TIMEOUT,, 2);   curl_setopt (ch,美元,CURLOPT_USERAGENT,,“IE  6.0“);   null   null   null   null   null   null   null   null   null

利用php怎么实现一个自动登录微信并获取昵称的功能