当前位置:首页 > 叨叨念念 > 另类缓存Gravatar头像的方法

另类缓存Gravatar头像的方法

作者:星之宇 ┊ 时间:2014-9-24 15:36 ┊ 分类: 叨叨念念 ┊ 阅读:8430 ┊ 评论:2

头像用的最多的还是使用Gravatar头像,但是Gravatar头像服务器在国外,速度上肯定有影响,如果很快的缓存Gravatar头像呢?

网上大部分是本地缓存,然后通过本地化Gravatar头像缓存来加快速度。

但是这次我换一种方法,无需加重自己服务器的负担来加快,因为这里有免费的七牛,使用七牛的同步镜像功能,同步Gravatar头像网站,然后把所有Gravatar头像地址改成七牛的地址就可以了。


使用方法:

1、去七牛申请帐号。官网地址:http://www.qiniu.com 

推广注册地址:https://portal.qiniu.com/signup?code=3lkin4af40swi (希望大家通过这个注册,让我多点空间,谢谢)

2、创建一个空间,七牛会分配一个2级域名,打开这个空间的“空间设置” --- “镜像存储”,填入Gravatar头像的官网地址(http://www.gravatar.com)

1.jpg

3、测试效果七牛缓存后头像效果

因为我使用的是emlog,Gravatar头像创建的连接一般是以下这种连接。

测试连接:http://www.gravatar.com/avatar/6016bea8a1116741c739ff17f8062776?s=40&d=mm&r=g

通过七牛绑定的域名(这边我已经绑定自己的域名了):http://avatar.myxzy.com/avatar/6016bea8a1116741c739ff17f8062776?s=40&d=mm&r=g

发现可以正常访问,但是头像的参数没了,直接跳转到 http://avatar.myxzy.com/avatar/6016bea8a1116741c739ff17f8062776

4、通过七牛的图片处理功能,自定义图片大小。

七牛后台“数据处理” --- “样式分隔符”,设置为“/”,然后“新建图片样式”。

2.jpg

样式名称自己设置,如“thum32”;“缩略方式”选择指定宽高缩放,设置宽高为32;“输出格式”和原图一致;“图片质量”可以自己选择,如100%。

3.jpg

设置好之后,测试http://avatar.myxzy.com/avatar/6016bea8a1116741c739ff17f8062776/thum32

这个已经可以输出指定大小的Gravatar头像,可以设置多个图片样式,但是最好不要大于宽高80px。


还有点问题:

1、不能输出其他参数的Gravatar头像

2、用户更改了Gravatar头像不会自动更新七牛缓存中的Gravatar头像,需要自己手动更新。(可以一段时间后清空下这个同步空间的内容即可)


演示效果:你可以看看本站的Gravatar头像效果。

emlog的话,直接修改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;
}

修改为
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";
	$avatar = "http://avatar.myxzy.com/avatar/$hash/thum$s";
	return $avatar;
}


目前有 2 条评论
avatar
深圳装修公司 2014-09-25 23:00回复1楼
看得挺不错,不知道wordpress有类似的没,最后最后,求回访一下啦。
avatar
星之宇 2014-09-26 00:56回复
@深圳装修公司:wp肯定有的