霜天部落 | 专注PHP研发,研究LAMP高性能架构部署与优化

php获得Gravatar头像

Gravatar是我们熟知的全球通用的头像系统,只要注册gravatar邮箱,那么我们的头像就和邮箱绑定了,如在支持gravatar的系统(如WordPress等)中我们在留言时,我们的头像会自动匹配显示出来。在WordPress中我们就有一个函数get_avatar。

WordPress获得Gravatar头像的方法:

get_avatar($id_or_email, $size, $default, $alt);
* $id_or_email, 当然就是id或者email,我们一般都用email,使用get_the_author_meta()来获得email
* $size,就是头像大小
* $default,就是默认头像地址
* $alt 是头像的alt文字(alternate text)

我们先介绍一下gravatar头像的URL:

http://www.gravatar.com/avatar/00c3d7446bf93d60d930ed6c71d1bedf.jpg?s=80&d=&r=G

这个URL由三部分构成:

URL基础:就是http://www.gravatar.com/avatar/
email部分:email小写形式在MD5后的字符串,例如:*****@gmail.com的形式为00c3d7446bf93d60d930ed6c71d1bedf,.jpg 后缀也是可选的。
头像参数:URL里的”size” 或者 “s”参数就是设定图像大小,一般是1到512(像素),这一项是可选的,”d”即defalut头像,”r”代表头像的级别,默认是G。

php获得Gravatar头像:

那么这就很简单了,php利用内置的MD5函数。

echo (“<img src=”http://www.gravatar.com/avatar/”.MD5(“*****@gmail.com”).”?s=80&d=&r=G” alt=”” />”)

OK,头像就显示出来了。
我们可以写一个函数去实现这个功能:

function show_gravatar($email, $size=’80’, $default=”, $rating=’G’)
{
echo ‘<img src=”http://www.gravatar.com/avatar/’.md5($email).’?s=’.$size.’&d=’.$default.’&r=’.$rating.'” alt=”” width=”‘.$size.’px” height=”‘.$size.’px” />’;
}

 



There are 6 Comments to "php获得Gravatar头像"