首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
搜索
舍力
登录
搜索
舍力
静以修身。
累计撰写
1140
篇文章
累计收到
3627
条评论
首页
栏目
首页
关于本站
网站模板
代码教程
Emlog教程
米拓教程
SEO优化教程
Ecshop教程
zblog教程
Excel技巧
电脑软件教程
互联网
免费资源
网络新闻
留言咨询
在线问答
申请友链
网址导航
联系舍力
包含标签 【Gravatar】 的文章
2014-11-18
[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替换为原来的getGravatar即可。 本教程由 冷猫 发布于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 亲测两种方法都是可行的,据说多说的缓存访问速度更快
2014年11月18日
10353 阅读
12 评论
Emlog教程