php判断Gravatar网络头像是否存在?
墨初 后端开发 5101阅读
Gravatar头像,是全球通用头像,被很多的博客程序或是一个带有评论的程序使用。只要你注册过Gravatar头像,在支持Gravatar头像的网站上留言时输入你注册Gravatar头像使用的邮箱就可以调用你的Gravatar头像。那感觉是不是非常的好呢?
今天记录一下,关于如何判断Gravatar头像是否存在的一些代码。
这里以我写在zblog主题的一点代码作为演示
代码:
function mochu_gravatar($email) { $hash = md5(strtolower(trim($email))); $uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404'; $headers = @get_headers($uri); if (!preg_match("|200|", $headers[0])) { $has_valid_avatar = FALSE; } else { $has_valid_avatar = TRUE; } return $has_valid_avatar; }
代码说明:
1、先把邮箱进行md5转码
2、组合Gravatar头像的调用地址
3、判断头像地址的返回的状态码
4、根据返回的状态码,判断调用相应的功能
PS一下:
感觉些这样判断会有点慢,如果一个页面存在多的用户评论头像的话,会消耗大量的时间发送请求与接受请求,各位有啥好的方法可以在下方留言哦!
HTTS头像调用地址:https://cn.gravatar.com/avatar/