«

Gravatar被墙后解决头像不能正常显示的五种方法(持续更新中。。。)

时间:2014-11-30 06:52     作者:admin     分类: 技术文章


Gravatar被墙后,很多博客的头像显示都不正常了,网上也有很多的方法,但是不全面,今天Mrxn帮你搜集汇总,发布在Mrxn's Blog 。

方法一:

打开include/lib/function.base.php 找到如下代码:
function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') {
        $hash = md5($email);
        $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";
        return $avatar;
}

修改为
$avatar = "https://secure.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";

方法二:

同样打开include/lib/function.base.php

$avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";

修改为:$avatar = "http://gravatar.duoshuo.com/avatar/$hash?s=$s&d=$d&r=$g";

方法三:

也是打开include/lib/function.base.php

将/**
 * 获取Gravatar头像
 * http://en.gravatar.com/site/implement/images/
 * @param $email
 * @param $s size
 * @param $d default avatar
 * @param $g
 */
里面的
http://en.gravatar.com/site/implement/images/

修改为:http://cn.gravatar.com/site/implement/images/

方法四:缓存头像,本地缓存。

<?php
function get_avatar($mail,$size = '40')
{
        $email_md5=md5(strtolower($mail));//通过MD5加密邮箱
        $cache_path=EMLOG_ROOT."/content/templates/uu_hcms/cache"; //缓存文件夹路径
        if(!file_exists($cache_path))
        {
                mkdir($cache_path,0700);
        }
        $avatar_url=TEMPLATE_URL."cache/".$email_md5.'.jpg'; //头像相对路径
        $avatar_abs_url=$cache_path."/".$email_md5.'.jpg'; //头像绝对路径
        $cache_time=24*3600*7; //缓存时间为7天
         if (empty($default)) $default = $cache_path. '/default.jpg';
        if(!file_exists($avatar_abs_url) || (time()-filemtime($avatar_abs_url)) > $cache_time)//过期或图片不存在
        {
                $new_avatar = getGravatar($mail);
                copy($new_avatar,$avatar_abs_url);
        }
        return $avatar_url;
        }
?>

插入module.php中,修改自12年某emer的代码。缓存7天可以自己修改,缓存呢可以加快页面是显示速度,但也不能那么及时更新头像了。看自己需要吧。对路由服务器来说,加载留言板的速度无疑快了不少。

使用方法:在module.php的最新评论 显示评论 显示子评论里面将getGravatar替换成get_avatar 。OK 完工。


方法五:自定义默认头像,个性DIY

详情,请查看我早期的文章:让emlog的留言板和评论使用本地头像,加速访问,提升美观

更多方法正在搜集研究中,尽请期待!请关注我的博客:https://mrxn.net 

如果你有好的方法或者是文章,欢迎投稿或者是注册:  注册    匿名投稿

标签: 编程 分享 emlog

版权所有:Mrxn's Blog
文章标题:Gravatar被墙后解决头像不能正常显示的五种方法(持续更新中。。。)
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读
评论:
avatar
初夏 2015-10-26 20:08
试试
commentator
Mrxn 2015-10-26 20:34
@初夏:嗯嗯