


Implementation method of saving user avatar to server after WeChat authorization
Feb 02, 2018 pm 05:30 PMThis article mainly shares with you how to save the user's avatar to the server after WeChat authorization. I recently worked on a project about WeChat authorized login. I won't say much about authorization. I obtained the user's basic information in the following format:
$user_info?=?'{"openid":"xx","nickname":"nice花椒.","sex":2,"language":"zh_CN","city":"杭州","province":"浙江","country":"中國","headimgurl":"http:\/\/wx.qlogo.cn\/mmopen\/vi_32\/Q0j4TwGTfTJPpziaqOoIpGia9ZVj9fheAwLmTiavV4rxR40NQ1zPQPyiaMY58FEISDIfpn0q5VeeXliaKyiaiabgK2ZHg\/0","privilege":[]}';
Save headimgurl directly into the database, a bug is coming.
Without further ado, let’s get to the point:
WeChat returns json format
$user_arr?=?json_decode($user_info,?true);
Get the user’s openid and compare it with the database to determine whether it is the first authorization
$mem_info=?$member->getuserinfo(array('openid'=>$user_arr['openid']));
First authorization or the avatar link address is different from the last time
if(!$mem_info?||?$mem_info['wximage']!=$user_info['headimg']){ ????$headimgurl?=?saveheadimgurl($user_arr['headimgurl']); ????$headimg???0?:?$headimg='lib/avata.jpg'?; ????if($mem_info['wximage']!=$user_info['headimg']){ ????????unlink($mem_info['headimg']); ????} ????//快來寫你的注冊或者修改代碼吧! }
Save the picture
function?saveheadimgurl($headimg){ ????$header?=?array( ?????????'User-Agent:?Mozilla/5.0?(Windows?NT?6.1;?Win64;?x64;?rv:45.0)?Gecko/20100101?Firefox/45.0',?????? ?????????'Accept-Language:?zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',?????? ?????????'Accept-Encoding:?gzip,?deflate', ????); ????$curl?=?curl_init(); ????curl_setopt($curl,?CURLOPT_URL,?$headimg); ????curl_setopt($curl,?CURLOPT_RETURNTRANSFER,?true);?? ????curl_setopt($curl,?CURLOPT_FOLLOWLOCATION,?true); ????curl_setopt($curl,?CURLOPT_HTTPHEADER,$header); ????$dataimg?=?curl_exec($curl); ????$code?=?curl_getinfo($curl,?CURLINFO_HTTP_CODE); ????curl_close($curl);?? ????if?($code?==?200)?{????? ????????$imgBase64Code?=?"data:image/jpeg;base64,"?.?base64_encode($dataimg); ????}?? ????$img_content=$imgBase64Code; ????if?(preg_match('/^(data:\s*image\/(\w+);base64,)/',?$img_content,?$result)){??? ?????????$type?=?$result[2]; ?????????create(DOFILESPATH."head");? ?????????$new_file?=?DOFILESPATH."head/".md5(uniqid(rand())).".{$type}";? ?????????if?(file_put_contents($new_file,?base64_decode(str_replace($result[1],'',?$img_content))))?? ?????????{?? ?????????????return?$new_file; ?????????} ?????} ?????return?false; }
Create the file at the specified location
function?create($dir){ ????if(is_dir($dir)){ ????????$temp?=?explode('/',$dir); ????????$cur_dir?=?''; ????????for($i=0;?$i<count($temp);?$i++){ ????????????$cur_dir?.=?$temp[$i].'/'; ????????????if(!is_dir($cur_dir)){ ????????????????@mkdir($cur_dir,777); ????????????} ????????} ????} }
Hope it is useful to everyone.
Related recommendations:
How to use WeChat authorized login? Summarize the usage of WeChat authorized login examples、
Detailed explanation of WeChat authorization for WeChat development
IOS implementation of WeChat authorized login function example code
The above is the detailed content of Implementation method of saving user avatar to server after WeChat authorization. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Solution: 1. Check the eMule settings to make sure you have entered the correct server address and port number; 2. Check the network connection, make sure the computer is connected to the Internet, and reset the router; 3. Check whether the server is online. If your settings are If there is no problem with the network connection, you need to check whether the server is online; 4. Update the eMule version, visit the eMule official website, and download the latest version of the eMule software; 5. Seek help.

What should I do if the RPC server is unavailable and cannot be accessed on the desktop? In recent years, computers and the Internet have penetrated into every corner of our lives. As a technology for centralized computing and resource sharing, Remote Procedure Call (RPC) plays a vital role in network communication. However, sometimes we may encounter a situation where the RPC server is unavailable, resulting in the inability to enter the desktop. This article will describe some of the possible causes of this problem and provide solutions. First, we need to understand why the RPC server is unavailable. RPC server is a

The role of a DHCP relay is to forward received DHCP packets to another DHCP server on the network, even if the two servers are on different subnets. By using a DHCP relay, you can deploy a centralized DHCP server in the network center and use it to dynamically assign IP addresses to all network subnets/VLANs. Dnsmasq is a commonly used DNS and DHCP protocol server that can be configured as a DHCP relay server to help manage dynamic host configurations in the network. In this article, we will show you how to configure dnsmasq as a DHCP relay server. Content Topics: Network Topology Configuring Static IP Addresses on a DHCP Relay D on a Centralized DHCP Server

As a LINUX user, we often need to install various software and servers on CentOS. This article will introduce in detail how to install fuse and set up a server on CentOS to help you complete the related operations smoothly. CentOS installation fuseFuse is a user space file system framework that allows unprivileged users to access and operate the file system through a customized file system. Installing fuse on CentOS is very simple, just follow the following steps: 1. Open the terminal and Log in as root user. 2. Use the following command to install the fuse package: ```yuminstallfuse3. Confirm the prompts during the installation process and enter `y` to continue. 4. Installation completed

Xiaohongshu has rich content that everyone can view freely here, so that you can use this software to relieve boredom every day and help yourself. In the process of using this software, you will sometimes see various beautiful things. Many people want to save pictures, but the saved pictures have watermarks, which is very influential. Everyone wants to know how to save pictures without watermarks here. The editor provides you with a method for those in need. Everyone can understand and use it immediately! 1. Click the "..." in the upper right corner of the picture to copy the link 2. Open the WeChat applet 3. Search the sweet potato library in the WeChat applet 4. Enter the sweet potato library and confirm to get the link 5. Get the picture and save it to the mobile phone album

In network data transmission, IP proxy servers play an important role, helping users hide their real IP addresses, protect privacy, and improve access speeds. In this article, we will introduce the best practice guide on how to build an IP proxy server with PHP and provide specific code examples. What is an IP proxy server? An IP proxy server is an intermediate server located between the user and the target server. It acts as a transfer station between the user and the target server, forwarding the user's requests and responses. By using an IP proxy server

After using HP printers to scan files, many users don't know where the scanned files are saved. If they want to find out where they are, they can search as scheduled in My Computer. Where are the files scanned by HP printers saved: 1. First open My Computer. 2. Then enter the date to search. 3. Then you can find the scanned files. 4. After the printer driver is installed, there will be a printer multifunction machine auxiliary software, open it. 5. Finally, click the scan folder icon to find the file.

What should I do if I can’t enter the game when the epic server is offline? This problem must have been encountered by many friends. When this prompt appears, the genuine game cannot be started. This problem is usually caused by interference from the network and security software. So how should it be solved? The editor of this issue will explain I would like to share the solution with you, I hope today’s software tutorial can help you solve the problem. What to do if the epic server cannot enter the game when it is offline: 1. It may be interfered by security software. Close the game platform and security software and then restart. 2. The second is that the network fluctuates too much. Try restarting the router to see if it works. If the conditions are OK, you can try to use the 5g mobile network to operate. 3. Then there may be more
