ホームページ  >  記事  >  バックエンド開発  >  訪問者のWeChatアバターをサーバーに保存します

訪問者のWeChatアバターをサーバーに保存します

WBOY
WBOYオリジナル
2016-06-23 13:47:172293ブラウズ


注: 現在、訪問者の WeChat アバター アドレスは認証を通じて取得され、データベースに保存されており、フロント デスクで使用される場合、そのアドレスが表示されます。
訪問者はホームページにアクセスするたびにニックネームとアバターのアドレスを更新しようとしますが、訪問者がアバターを変更すると、再度ホームページにアクセスするまでアバターは表示されません。
上記の状況を回避するために、WeChat アバターをデータベースに保存し、直接呼び出したいと考えています。


WeChat アバターはブラウザで正常に開くことができますが、curl または get_file_contents() を介して正常に取得することはできません。


ディスカッションに返信(解決策)

モバイル WeChat と Weibo のログイン インターフェイスを作成しました
提供された画像アドレスは file_get_contents() にすることができます
次に、直接 file_put_content() して、パスと同様にローカル フォルダーに保存します命名規則を自分で設定します
リモート画像を保存するには、関数をカプセル化する必要があります
そして、サーバー上のローカルパスを保存する必要があります

function put_file_from_url_content($url, $saveName, $path) {

// 実行時間を次のように設定しますunlimited
set_time_limit (0) ; $
$ url = trim ($ url);
$curl =curl_init ();
// URL を設定します
Curl_Setopt ($curl,curlopt_url, $ url); , 1);
// cURL パラメータを設定し、結果を文字列で保存するか、画面に出力する必要があります。
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
// cURL を実行し、Web ページをリクエストします
$file =curl_exec ( $curl )
// URL リクエストを閉じます
curl_close ( $curl );データを取得するファイル $ filename = $ PATH. $ Savename;
IF ($ Write == FALSE)
(fwrite ($ WR ITE , $file ) == false) {
put_file_from_url_content($userAvatar, $userOpenId.".jpg" , $avatarPath);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。