EMLOG博客设置Gravatar头像本地缓存[Gravatar头像不显示解决方法]



很多做博客网站的朋友,会经常遇到一个问题,Gravatar头像被墙,不显示了。于是乎又改链接,有改为CN的,有改为DUOSHUO的,也有改为EN的,但是这些方法都是治标不治本。今天易捷博客教大家怎么把头像缓存在本地空间,已解决头像被墙的问题。

1、在content文件夹里面创建一个avatars的文件夹

2、将以下代码写入你的module.php里面。


<?php
//Gravatar头像缓存
//易捷博客网 www.vxia.net
function cache_gravatar($email, $s = 40, $d = 'mm', $r = 'g'){
    $f = md5($email);
    $a = BLOG_URL.'content/avatars/'.$f.'.jpg';
    $e = EMLOG_ROOT.'/content/avatars/'.$f.'.jpg';
    $t = 1296000;
    if(empty($email)){
        $a = TEMPLATE_URL.'images/avatar-default.png';
    }
    if(!is_file($e) || (time() - filemtime($e)) > $t ){
        $g = sprintf("http://secure.gravatar.com",(hexdec($f{0})%2)).'/avatar/'.$f."?s=40&d=mm&r=g";copy($g,$e); $a=$g;
    }
    if(filesize($e) < 500){
        copy($d,$e);
    }
    return $a;
}
 ?>

3、把module.php里面的调用头像改为cache_gravatar即可。



标签: 头像

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.vxia.net/post-761.html

相关推荐

评论

  1. 2015-11-27 13:30
    我选择得是替换为v2ex cdn
    1. 2015-11-27 13:34
      @bookcase:图像缓存本地更方便

你肿么看?

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。