如何申请一个自己的Gravatar全球通用头像

摘要

说起Gravatar全球通用头像,很多

说起Gravatar全球通用头像,很多朋友都不陌生,但是依旧有不少朋友还是不知道的。今天李明也写一个Gravatar全球通用头像注册使用图文教程,方便新手朋友。 什么是Gravatar全球通用头像? Gravatar是Globally Recognized Avatar的缩写,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持Gravatar的blog或者留言本上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来。

像我网站留言区的(如下图),可以通过注册 Gravatar全球通用头像来显示。

Gravatar头像

具体步奏如下,李明给你详细讲解:

个人注册使Gravatar全球通用头像功能完全免费哦

第一步, 注册Gravatar账号

打开Gravatar网站:http://en.gravatar.com/,你将会看到如下图所示:

Gravatar

 

在这页面你可以找到红色箭头所标记着的按钮,点击开始创建属于您的头像了。

第二步, 填写您的邮件地址

Gravatar全球通用头像

第三步, 确认邮件

当在上一步点击Signup后就会提示发送到一封确认邮件到您刚所填写的邮件里的,如下图提示:

 

那么到这里你就需要打开你的邮件里找到由Gravatar网站发给你的验证邮件,在里面找到验证地址,注意,这里需要用户自己去COPY到浏览器地址栏。

第四步, 填写用户信息

全球通用头像

第五步, 用户设置面板

点击红色箭头链接去设置一个头像。

头像

第六步, 设置头像

在这里你可以看到四种图片来源方式。这将取决你的选择,一般都使用第一个。

全球通用头像

当选择My computer’s hard drive(从本地上传图片)时

Gravatar头像

当选择An image on the internet(在网上的图片地址)时

你需要在那填写一张网上的图片文件地址,如一些支持外链的相册等等。

外链相册

第七步, 裁减你的图片

上传上来的图片不一定尺寸适合或者图片中有个地方你不喜欢,这里也就方便你在线裁减了。

申请Gravatar头像

第八步, 选择您的图片级别

这里级别有四种,G,PG,R,X.有必要说一下,因为某些小”盆”友喜欢有某方面的爱好.

  • G:适合任何类型的网站,也就是通用型.
  • PG: 图片含有轻微的暴力,某些粗鲁的手势.
  • R: 图片含有强烈的暴力,吸毒,亵渎等行为.
  • X:含有性交或者令人感到强烈不安的行为.
  • 大功告成

    已经大功告成了,当然你也可以通过这个管理面板重新设置新的邮件地址或者新的头像图片。

  • 申请自己的头像

希望能帮助到大家,那么还等什么?赶快设置属于你的Gravatar头像吧。


------------------------------------------


没有头像时,利用Gravatar调用头像方法,在查看了emlog代码,修改了一下,文件include\lib\function.base.php

function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; return $avatar;}

调用本地头像,将刚才的那段代码修改成:


function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); $uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404'; $headers = @get_headers($uri); if (!preg_match("|200|", $headers[0])) { $avatar = "content/templates/lkm/img/lms_0.png";//没有头像 } else { $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; } return $avatar;}


随机调用多个本地图片,把代码改成:


function getGravatar($email, $s = 40, $d = 'mm', $g = 'g') { $hash = md5($email); $uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404'; $headers = @get_headers($uri); if (!preg_match("|200|", $headers[0])) { $avatar = "content/templates/lkm/img/lms_".rand(1,5).".png";//没有头像 } else { $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; } return $avatar;}
利用Gravatar头像随机调用头像方法,把代码改成:


function getGravatar($email, $s = 40, $d = 'wavatar', $g = 'g') { $hash = md5($email); $avatar = "http://www.gravatar.com/avatar/$hash?s=$s&d=$d&r=$g"; return $avatar;}
    就可以随机调用Gravatar设定好的头像了,细心就可以看到主要是 $d = 'wavatar', 这个参数发生了变化,Gravatar有几种随机调用头像的方法:mm,identicon,monsterid,wavatar,不同的参数自己可以更换试一下效果。

$d='mm'    -  神秘人  (灰色头像)
$d='monsterid'  -  小怪物  (自动生成)
$d='identicon' -  抽象图形 (自动生成)
$d='wavatar'  -  W-avatar (自动生成)
$d='非空格符'   -  Gravatar  (大写 “G”) 


实现了评论头像的缓存功能:

   首先,要在自己的空间上建立缓存目录。由于这个方法不依赖于模板,最好是建在网站根目录或者博客的安装目录下面,比如我的是:images\avatar (再次提醒:是根目录或者博客安装目录,不是模板目录)。建好目录之后,设置其权限为可写 (777)。

然后就是修改 getGravatar 函数。打开 include\lib\function.base.php 文件,将原来的 getGravatar 函数重新命名作为备份,然后将下面的代码添加进去:


//获取Gravatar头像function getGravatar($email, $s=64, $d='mm', $r='g') { $f = md5($email); $a = BLOG_URL.'images/avatar/'.$f.'.jpg'; $e = EMLOG_ROOT.'/images/avatar/'.$f.'.jpg'; $t = 604800; //7天,单位:秒 if (empty($d)) $d = BLOG_URL.'images/avatar/default.jpg'; if (!is_file($e) || (time() - filemtime($e)) > $t ) { //当头像不存在或者超过7天才更新 $g = sprintf("http://%d.gravatar.com",(hexdec($f{0})%2)).'/avatar/'.$f.'?s=64&d='.$d.'&r='.$r; copy($g,$e); $a=$g; //新头像copy时, 取gravatar显示 } if (filesize($e) < 500) copy($d,$e); return $a;}


 当中的路径一定要和你自己建的相同,保存之后重新上传覆盖,这样就行了。凡是原来正常调用 getGravatar 函数的地方(比如正文后面的评论、读者墙等),都会自动生效。

要注意的是,函数中的尺寸是控制复制过来的图片的大小,而不是该图片的显示尺寸;另外,如果当前页面的评论头像没有缓存完,页面可能显示不完全,网络不好甚至可能出现错误代码,不要着急,刷新一下,直到全部头像缓存完毕就正常了。

对于没有设置头像的邮箱,默认显示的头像如下:

$d='mm'    -  神秘人  (灰色头像)
$d='monsterid'  -  小怪物  (自动生成)
$d='identicon' -  抽象图形 (自动生成)
$d='wavatar'  -  W-avatar (自动生成)
$d='非空格符'   -  Gravatar  (大写 “G”)

注意:$d 数据中的四个关键字只能是小写,不然会被视为其它的非空格符;另外,$d 的数据中也不能出现空格符,否则该函数将不能正常调用。

大家可以用鼠标右键查看一下本博客中评论头像的地址,是不是全部都在本空间里面?怎么样,如果觉得效果不错,就赶快动手吧!

发表评论

注意:本博客开启缓存,你的评论一般2小时后才能看到,如是广告,评论将无法显示!

目前评论:45 条

  1. avatar 风情
    回复 2016-06-29 23:31  沙发

    国外的网站吧。 好卡。。~~

  2. avatar hedy
    回复 2016-04-07 21:12  板凳

    我的emlog博客还在本地调试,在本地测试评论,不显示自己的头像(后台填写的邮箱和Gravatar是同一邮箱),而在他人的博客留言会显示,我不懂PHP语言,请问前辈怎么修改代码。

    • avatar 李明

      @hedy:参考一下:
      http://likinming.com/post-395.html
      http://likinming.com/post-579.html

    • avatar 李明

      @hedy:还有管理员头像要在后台个人设置哪里上传头像的。

      • avatar hedy

        @李明:后台管理员的头像也上传设置,不知为啥,自己发表评论,显示的不是我的Gravatar头像,而是一个灰色的神秘人头像。

  3. avatar paoxiao
    回复 2016-02-15 10:21  地板

    能显示头像吗?

  4. avatar Tierney
    回复 2015-12-05 08:16  #4 楼

    牛逼

  5. avatar 姜辰
    回复 2015-11-17 10:33  #5 楼

    我又换头像了。哈哈

  6. avatar 姜辰
    回复 2015-08-11 20:11  #6 楼

    哈哈,我今天把头像弄好了。

  7. avatar 捷闪站长网
    回复 2015-07-10 12:26  #7 楼

    不错,很详细。

    • avatar 捷闪站长网

      @捷闪站长网:我设置好了,在其他地方评论都是显示头像了,怎么这里还是显示一个“小怪物”

      • avatar 李明

        @捷闪站长网:这里有缓存的,15天才更新一次。

  8. avatar 取经者
    回复 2015-06-02 10:45  #8 楼

    楼主的教程弄得非常好。

  9. avatar WiLDRain
    回复 2015-02-22 22:09  #9 楼

    测试一下! 感谢博主

  10. avatar 青春博客
    回复 2014-10-20 00:37  #10 楼

    我试试有区别不

    • avatar 李明

      @青春博客:有区别的,头像不错。