2010
Jan
07
每次打开博客时都要从国外Gravatar官方网站下载头像,必然让博客的加载速度有所减慢,所以想把Gravatar头像缓存到本地。看了whisper童鞋的《全面启用gravatar头像缓存》,但那毕竟是WordPress的方法,在我这不是很合适,呵呵。又在网上找了一篇相关的文章《还在折腾:十行代码搞定Gravatar缓存》,里面很多变量有些奇怪,反正我是没搞清楚他那程序是怎么用的,但给了我很多启示,搞清楚了这篇文章中程序的工作原理,自己琢磨着重新写了一遍,呵呵,现在能用了。
function getGravatar($email, $size){
$image = md5(strtolower($email));
$localimage = $_SERVER['DOCUMENT_ROOT'].WEB_URL.'/Public/gravatar/'.$image.'.jpg';//本地头像的路径
$expiretime = 1296000;//15天时间
if(!is_file($localimage) || (time()-filemtime($localimage)>$expiretime)){//如果头像在本地不存在或者超过15天则从远程复制头像到本地
$remoteimage = 'http://www.gravatar.com/avatar.php?gravatar_id='.$image.'?s=32&d=identicon&r=G';//远程头像地址
copy($remoteimage, $localimage);//复制到本地
}
$img = WEB_URL.'/Public/gravatar/'.$image.'.jpg';//本地头像的相对路径
return "<img src='".$img."' width='".$size."' height='".$size."' />";//返回头像
}
在需要显示头像的地方调用如下代码:
echo getGravatar($email, $size);
搞定,就上面一点代码即可将Gravatar头像缓存到本地。
......2009
Nov
07
很早以前就有人建议我把博客加上Gravatar头像,可是不知道原理,就没弄,一直拖着,今天有时间就在网上找了一下资料,已经加上了改功能。
在需要显示Gravatar头像的地方加上如下代码就可以显示Gravatar头像:
$email="youremail@gmail.com";//申请时注册的Email $size = 70;//头像的大小 $gravUrl = "http://www.gravatar.com/avatar.php?gravatar_id=".md5(strtolower($email))."?s=".$size."&d=identicon&r=G"; echo '<img src="'.$gravUrl.'">';
如果你还没有申请Gravatar头像就赶快去申请一个吧,申请地址:http://www.gravatar.com/
......页数1/1
又梦见了,忘记真的很难。 (2月8日)
晚上和爸妈吃个饭。 (2月6日)
装修好累哟
(2月4日)
白
JankoAtWarpSpeed对...