IT技术宅

青春是一个充满活力的季节,即便是我们失去了天使的翅膀,只要我们还有一颗青春的心,那么我们的生活依然能够如阳光般灿烂!......
现在位置:首页 > Emlog相关 > 验证Gravatar头像是否存在并缓存至服务器

验证Gravatar头像是否存在并缓存至服务器

刘振兴     Emlog相关      2015年09月14日     9310     暂无评论  
<?php
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;
      }
}
//使用
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';
}echo $gface_url;
;?>
<?php
//gravatar头像缓存
function ting_avatar( $email) {
  if(validate_gravatar($email)=='true'){
	  $gfile_path=EMLOG_ROOT."/content/uploadfile/ting/avatar/"; //缓存文件夹路径 
	  if(!file_exists($gfile_path)){
		  mkdir($gfile_path,0755); 
		  } 
		  $gmd5 = md5( strtolower( $email ) );//根据email的值来生成一个md5变量值,作为本地.jpg头像的名字 
		  $gimg = BLOG_URL."/content/uploadfile/ting/avatar/g_" . $gmd5. ".jpg";//avatar相对路径 
		  $gfile = $gfile_path.'g_'. $gmd5. '.jpg';//缓存的头像的绝对路径 
		  $gtime = 24*3600*15; //单位s,设置更新时间为15天
		  if (!file_exists($gfile) || (time()-filemtime($gfile)) > $gtime){ //不是第一次留言留言且留言时间超过15天就更新头像 
			  $gimg_url = 'http://www.gravatar.com/avatar/'. $gmd5; // 旧服务器 (哪个快就开哪个) 
			  copy($gimg_url, $gfile); //将$gimg_url代表的网络图片复制到$gfile代表的本地服务器中 
			  } 
			  }else{$gimg = TEMPLATE_URL .'images/ting.png';//自定义的头像 
			  } 
			  echo $gimg;
}
?>
1

使用 在模板文件夹下面打开module文件,找到
<?php echo getGravatar($comment['mail']); ?>
替换成
<?php echo ting_avatar( $comment['mail']); ?>

评论一下 分享本文 赞助本站 联系站长
IT技术宅
 挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

未显示?请点击刷新

清空信息
关闭评论