保存访问者微信头像至服务器

WBOY
Freigeben: 2016-06-23 13:47:17
Original
2292 Leute haben es durchsucht


说明:目前是通过授权获取访问者微信头像地址,并保存在数据库中,前台使用时则通过地址显示。
虽然访问者每次访问主页都会尝试更新昵称与头像地址,但在访问者修改头像直至再次访问主页时,其头像无法显示。
希望能将其微信头像保存至数据库,直接调用,避免以上情况发生。


微信头像在浏览器中能顺利打开,但无论是通过 curl 还是 get_file_contents() 都无法正常获取。


回复讨论(解决方案)

做过手机端微信和微博登陆接口
他们提供的图片地址是可以file_get_contents()的
然后直接file_put_content()保存在本地文件夹,至于路径和命名规则自己定
保存远程图片应该封装一个函数
然后把本地路径保存在服务器上

function put_file_from_url_content($url, $saveName, $path) {
    // 设置运行时间为无限制
    set_time_limit ( 0 );
    
    $url = trim ( $url );
    $curl = curl_init ();
    // 设置你需要抓取的URL
    curl_setopt ( $curl, CURLOPT_URL, $url );
    // 设置header
    curl_setopt ( $curl, CURLOPT_HEADER, 1 );
    // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
    curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
    // 运行cURL,请求网页
    $file = curl_exec ( $curl );
    // 关闭URL请求
    curl_close ( $curl );
    // 将文件写入获得的数据
    $filename = $path . $saveName;
    $write = @fopen ( $filename, "w" );
    if ($write == false) {
        return false;
    }
    if (fwrite ( $write, $file ) == false) {
        return false;
    }
    if (fclose ( $write ) == false) {
        return false;
    }
 }

put_file_from_url_content($userAvatar, $userOpenId.".jpg", $avatarPath);

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage