在安装目录下面建立avatar文件夹,设置其权限为可写 (777)。
修改 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;
}
更改为以下代码:
//获取Gravatar头像
function getGravatar($email, $s=40, $d='monsterid', $r='g') {
$f = md5($email);
$a = BLOG_URL.'avatar/'.$f.'.jpg';
$e = EMLOG_ROOT.'/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://cn.gravatar.com",(hexdec($f{0})%2)).'/avatar/'.$f.'?s=40&d='.$d.'&r='.$r;
copy($g,$e); $a=$g; //新头像copy时, 取gravatar显示
}
if (filesize($e) < 500) copy($d,$e);
return $a;
}
对于没有设置头像的邮箱,默认显示的头像如下:
$d='mm' - 神秘人 (灰色头像)
$d='monsterid' - 小怪物 (自动生成)
$d='identicon' - 抽象图形 (自动生成)
$d='wavatar' - W-avatar (自动生成)
$d='非空格符' - Gravatar (大写 “G”)
注意:$d 数据中的四个关键字只能是小写,不然会被视为其它的非空格符;另外,$d 的数据中也不能出现空格符,否则该函数将不能正常调用。
本文共 173 个字数,平均阅读时长 ≈ 1分钟
评论 (0)