判断email是否有对应的gravatar头像  0    3 

gravatar头像给博客添加了互动性,但是gravatar在mail没有头像的时候调用的是一个丑的要死的默认头像,所以很影响视觉感。所以小编就想着在调用头像之前先验证一下用户输入的邮箱地址是否有申请gravatar头像,如果有则输出,如果没有,则随机取一个头像,为此小编在module.php中写了一个函数方便调用,函数如下:

//验证email是否有对应的gravatar头像
function validate_gravatar($Verification_email) {
      $email = $Verification_email; // 要验证的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])) {   
                return FALSE;
      } else {   
                return true;
      }
}
函数有一个参数,即要判断的邮箱地址,如果邮箱地址有头像最后返回true,如果没有则返回false。有了这个函数我们就可以随心所欲的输出随机头像了。代码如下:


if(validate_gravatar($value['mail'])=='true'){
	$gface_url = "http://www.gravatar.com/avatar/".md5($value['mail'])."?size=32&d=".TEMPLATE_URL."images/ava_d.gif";
	}else{
	$gface_url = TEMPLATE_URL.'images/gravatar/'.rand(1,5).'.jpg';
}
上面是一个条件判断语句,判断用户的邮箱是否有头像,如果有头像则把头像地址赋值给变量$gface_url,如果没有,则给变量$gface_url赋值一个主题根目录下images下gravatar中的1-5.jpg随机一张图片。最后输出变量即可,如下:


0
0
回复 ( 0 )