王尘宇王尘宇

研究百度干SEO做推广变成一个被互联网搞的人

[Emlog教程]Gravatar头像被墙的解决方法

要领一:怎样你不想改程序内核,发起你运用以下代码,直接将下面的代码复制到模板文件module.php中

<?php//blog-tool:猎取Gravatar头像function myGravatar($email, $s = 40, $d = 'mm', $g = 'g') {$hash = md5($email);$avatar = "http://cn.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g";return $avatar;}?>

将module.php中所有的getGravatar替换为myGravatar。
要领二:将多说的头像缓存到当地 将下面的代码复制到模板文件module.php中

<?php//Custom:猎取模板目次称号function get_template_name(){    $template_name = str_replace(BLOG_URL,"",TEMPLATE_URL);    $template_name = str_replace("content/templates/","",$template_name);    $template_name = str_replace("/","",$template_name);    return $template_name;}?><?php//blog-tool:猎取Gravatar头像并缓存到当地function MyGravatar($email, $s=40, $d='monsterid', $r='g') {    $f = md5($email);    $a = TEMPLATE_URL.'avatar/'.$f.'.jpg';    $e = EMLOG_ROOT.'/content/templates/'.get_template_name().'/avatar/'.$f.'.jpg';    $t = 1296000; //15天,单元:秒    if (empty($d)) $d = BLOG_URL.'avatar/default.jpg';    if (!is_file($e) || (time() - filemtime($e)) > $t ) {        //当头像不存在或许凌驾15天赋更新        $g = sprintf("http://gravatar.duoshuo.com",(hexdec($f{0})%2)).'/avatar/'.$f.'?s=48&d='.$d.'&r='.$r;        copy($g,$e); $a=$g; //新头像copy时, 取gravatar显现    }    if (filesize($e) < 500) copy($d,$e);    return $a;}?>

在模板文件夹新建名为avatar的文件夹,将module.php中的getGravatar替换为MyGravatar。 修正完成后革新两次网页,检察头像途径为当地途径即设置胜利。
如gravatar网站恢复一般,不需运用上述功用时,删除上述代码,将MyGravatar或许DuoshuoGravatar替换为本来的get Gravatar即可。
教程由 冷猫 宣布于em论坛, 测试5.3.1一般运用
 修正位置在/include/lib/function.base.php,找到以下代码

/** * 猎取Gravatar头像 * http://en.gravatar.com/site/implement/images/ * @param $email * @param $s size * @param $d default avatar * @param $g */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;}

其实有两种要领
1.把个中的赤色字体修正为 多说的缓存   http://gravatar.duoshuo.com/avatar/$hash?s=$s&d=$d&r=$g
2.把个中的赤色字体修正为 国内Gravatar头像   http://cn.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g
亲测两种要领都是可行的,听说多说的缓存接见速率更快

相关文章

评论列表

发表评论:
验证码

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