欢迎访问 舍力博客(www.shuyong.net)
<?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。 <?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头像 * 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; }其实有两种方法
留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。