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头像缓存到本地。

本站原创,转载请标明:来自追梦博客(http://www.wuleilei.com/)

本文地址:http://www.wuleilei.com/Blog/240

相关文章

暂无相关文章!

看看他们的脚印

闲言碎语

又梦见了,忘记真的很难。 (2月8日)

晚上和爸妈吃个饭。 (2月6日)

装修好累哟 (2月4日)

文章分类

最近文章

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

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

事情好多哦

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

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

最近评论

日志归档

友情链接

其它功能

随机标签