この記事では主に、WeChat 認証後にユーザーのアバターをサーバーに保存する実装方法について説明します。私は最近 WeChat 認証ログインに関するプロジェクトに取り組みました。認証についてはあまり説明しません。以下の形式:
$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":[]}';
headimgurlを直接入れるとデータベースに保存されてしまいバグが発生します。
これ以上の苦労はせずに、本題に入りましょう:
WeChat は json 形式を返します
$user_arr = json_decode($user_info, true);
ユーザーの openid 比較データベースを取得して、それが最初の認証かどうかを判断します
$mem_info= $member->getuserinfo(array('openid'=>$user_arr['openid']));
最初の認証またはアバター リンク アドレスは、前回
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']); } //快来写你的注册或者修改代码吧! }
写真を保存
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; }
場所を指定してファイルを作成
function create($dir){ if(is_dir($dir)){ $temp = explode('/',$dir); $cur_dir = ''; for($i=0; $i<count><p>皆さんのお役に立てれば幸いです。 </p> <!--<ul class="list-unstyled text-muted mt30"><li>前の記事: Android の基本 2: サービス</li><li class="mt5">次の記事: Spark ユーザーガイドの概要 - 基本プログラミング</li></ul>--><h2 class="h4 post-comment-title"></h2> <p class="comments--news comments--default comments--article ">関連する推奨事項: </p> <p class="comments--news comments--default comments--article "><a href="http://www.php.cn/weixin-kaifa-365131.html" target="_self">WeChat 認証ログインの使用方法? WeChat認可ログイン例の使い方をまとめます</a></p> <p class="comments--news comments--default comments--article ">WeChat開発のためのWeChat認可の詳細説明<a href="http://www.php.cn/weixin-kaifa-360264.html" target="_self"></a></p> <p class="comments--news comments--default comments--article ">WeChat認可ログイン機能のIOS実装サンプルコード<a href="http://www.php.cn/weixin-kaifa-359005.html" target="_self"></a></p> <p class="comments-box-content"><br></p></count>
以上がWeChat認証後にユーザーアバターをサーバーに保存する実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
Inzoi:学校と大学への応募方法
1 か月前ByDDD
Atomfallのサイトオフィスキーを見つける場所
4週間前ByDDD

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック
Gmailメールのログイン入り口はどこですか?
7907
15


Java チュートリアル
1652
14


CakePHP チュートリアル
1411
52


Laravel チュートリアル
1303
25


PHP チュートリアル
1248
29

