2010

Jan

07

将Gravatar头像缓存到本地
文章分类:开发相关

每次打开博客时都要从国外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头像,可是不知道原理,就没弄,一直拖着,今天有时间就在网上找了一下资料,已经加上了改功能。

在需要显示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日)

文章分类

最近文章

iOS开发之回调delegate的方法...

iOS开发之使用AES加密(兼容Obj...

事情好多哦

iOS开发之获取本机IP地址的方法

简单记录PC上安装苹果系统

最近评论

日志归档

友情链接

其它功能

随机标签