Gimhoy's Blog

您曾经浏览过

WordPress通过Email判断用户是否有Gravatar头像

本文最后更新于2013年5月11日,已超过三年没有更新,如果文章内容失效,请反馈给我们,谢谢!

之前讲了如何设置自己的Gravatar全球通用头像以及如何调用访问者的Gravatar全球通用头像,但很多时候,我们还需要知道用户有没有设置Gravatar,比如如果用户没有设置Gravatar头像则直接显示本地的默认头像,或者提醒没有设置Gravatar的用户设置Gravatar头像,而不打扰已经设置过头像的用户。今天分享的代码可以通过Email地址来验证用户是否有Gravatar头像:

function validate_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;
}


免费获得每月10G空间+10G免费流量
  • Comment (5)
  • Trackback (1)
  • 蛋疼哥Google ChromeWindowsChina2013/05/24 19:23@Ta

    有空了也折腾下

    #3
  • 神父Google ChromeWindowsChina2013/05/17 15:09@Ta

    求直接拒绝没有头像的评论提交的方法

    #2
  • 啄木游弋SouGou BrowserWindowsReserved2013/05/15 13:00@Ta

    如果没有gravatar的用户,不是可以默认显示随机的gravatar头像么,这个可以在后台设置的呀。所以,不是很明白本文所讲的代码的用处

    #1
    • GimhoyGoogle ChromeWindowsChina2013/05/15 19:04@Ta

      文中说得很清楚,如果用户没有设置Gravatar头像则直接显示本地的默认头像,或者提醒没有设置Gravatar的用户设置Gravatar头像,这些都需要判断。