Gravatar头像缓存插件-更新至1.2.0


GravatarCache.jpg

前些天看到好多人的WP博客加上了Gravatar头像缓存代码,原因你懂的,是因为Gravatar头像在前几天宕机了。以前好像也有过,这个就不太清楚了。

原理是把Gravatar服务器上的头像下载到自己的服务器,当时看了下代码,自己也想弄的,但看了下typecho的评论结构,好像只能改内核程序,再加上自己的VPS在国外,虽然不限流量,但速度并不是很快,如果加上缓存头像,对于评论多的文章,无疑加重了自己VPS的负担,所以念头打消了。

昨天还是前天了,typecho群里有群友说怎么弄头像缓存,我说我研究下,看了下内核,发现处理头像的方法有插件句柄,无疑可以以插件的方式改写头像方法,SO,Gravatar头像缓存插件诞生了,名叫:GravatarCache。代码参考了Willin简易的gravatar头像缓存,该插件即插即用,激活无需改动或添加任何代码,一切都交给插件去做吧,省事~~~ 呵呵。

插件设置功能:
1、缓存时间:默认为 14天 = 1209600 秒,记住单位为 秒;
2、存放路径:缓存头像的存放路径,可以不用更改,因为已经是很合理的路径了;
3、删除缓存:这个功能是为了禁用插件时尽量还原系统而设计的,考虑到现在好多插件禁用时都不会还原,总还有或多或少的垃圾残留。默认为“是”,即禁用插件是会自动删除缓存头像,并删除除系统目录外的文件夹,故你不用担心会把系统文件夹删除掉。

注意,本插件的制作环境是:typcho 0.8 | 10.8.15

OK,就这些,这是为typecho做的第一个插件,成功环境是LAMP,有WAMP环境的朋友帮忙测试下,成功以否留个言,不甚感激。

注:
1、此插件是单件版,无需再新建文件夹,上传至 plugins 目录即可激活使用;
2、此插件需要开启 PHP 的 “fopen wrappers”(一般是开启了的,但防采集的空间会关闭此功能),否则无法正常使用,此类问题不再作解答。

下载地址:
Gravatar头像缓存插件V2.0.0
最新版本

GravatarCache.1.2.0.zip
1.2.0 update at 2011-04-14
FIX:
1、修复程序逻辑BUG
2、修复域名后面多出一个斜杠的BUG
3、优化了代码效率
*注:建议使用此插件的朋友更新到此版本

GravatarCache.1.1.0.zip
1.1.0 update at 2011-02-25
FIX:增加获取图片的方法,现在有 curl/fopen/copy 三个方法,加强成功率

1.0.2 update at 2010-10-21
FIX:修改头像获取地址

GravatarCache.1.0.1.zip
1.0.1 update at 2010-09-12
FIX:修正当邮箱地址不为空 且 没有Gravatar头像时 不会 调用默认头像的 BUG

GravatarCache.zip
1.0.0 at 2010-09-08
使用方法:即插即用

已有 64 位潜水的同学浮出水面了 »

  1. 我的老是出现这个怎么办啊。
    Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /wwwroot/FTP1CEEE/htdocs/usr/plugins/GravatarCache.php on line 201

    2011-04-24 19:59 回复
    1. 这个问题我解决了 。我把201行给屏蔽了,暂时没有啥问题

      2011-04-24 21:14
  2. WP用户路过……

    2011-04-22 18:09 回复
    1. 欢迎早日投入TypeEcho的怀抱。

      2011-04-22 21:09
  3. 非常喜欢博主的文章,希望能交换友链,方便常来支持。

    2011-04-16 00:44 回复
    1. 是么?我表示怀疑!

      2011-04-22 21:17
  4. 你是不是弄个函数让其他的插件调用啊,我有时候总是需要用到你的缓存头像,虽然调用成功了,但是很死,地址都是是写死的。
    你要弄个函数,只要传入EMAIL,就能去获得缓存头像。。

    2011-04-15 16:02 回复
    1. 可以弄个方法供调用,不过你说的地址写死的是指什么地址?图片地址?图片地址写死没有影响呀,是不是指 html 结构写了?

      2011-04-22 17:43
  5. 更新去。。。

    2011-04-15 15:55 回复
  6. 最近经常出现0kb的图片,然后头像就显示不出来了,不知道什么原因

    2011-04-15 10:16 回复
    1. 用最新版本试一下,记得先清空原来的图片缓存。

      2011-04-15 11:41
  7. 不错。~

    2011-04-14 10:19 回复
  8. 跟着更新了,改动了啥?

    2011-02-25 14:56 回复
    1. 增加获取图片的方法,现在有 curl/fopen/copy 三个方法,加强成功率

      2011-02-25 15:04
  9. 折腾完了,不过在我读者墙还是有些问题。
    哪天你Q在线的时候联系我一下,问些问题。。

    2011-02-25 03:36 回复
    1. 嗯,嵌套只开了一层,多层感觉不好看,呵呵,那我开GTalk~

      2011-02-26 11:10
    2. 貌似我有你的GTALK。。
      我博客的问题就是,你去看我那读者墙,有缓存的才显示,没缓存的就显示默认的。
      我像弄成有正常的那种,没有缓存就调用系统的。。
      你那个方法调用的参数不太明白。。

      2011-02-26 05:29
    3. 我蛋疼,你嵌套回复才一层就没了??
      我扣扣看这里:http://www.binjoo.net/about/,备注里面加我,PS:主要是我自己都不知道验证密码是神马。。

      2011-02-26 05:27
    4. 嗯,你Q多少呀~好像我还没加你 - -

      2011-02-25 12:43
  10. 额,我正准备更新的时候我才发现我用的不是你的、。
    我记得一直用的就是你的这个缓存插件啊,蛋疼。。
    马上换过来。。。

    2011-02-25 02:54 回复
  11. 博主的邮件回复很有个性呀,嘻嘻!
    我也仿做了一个,嘻嘻!
    但是出现了一个小小的问题,文章连接的参数是?
    博主可以告知一下吗?嘻嘻!

    2011-02-13 23:02 回复
    1. 那个插件本身并没有那个参数,是我修改添加进去的~

      2011-02-15 00:31
  12. 怎么下载后只有一个GravatarCache.php文件呀?
    应该还有一个Plugin.php呀!后台找不到插件呀!

    2011-02-08 03:06 回复
    1. 您好,感谢使用该插件,这是单文件版的,不需要任何文件夹,把该文件传至插件目录即可在后台激活使用。

      2011-02-08 22:39
  13. 一直在用,过来顶顶

    2011-01-30 14:25 回复
  14. Warning: copy(http://0.gravatar.com/avatar/755370cc03ff5db1226dddf40ec3629f?d=http://eallion.com//usr/uploads/avatarCache/default.jpg&s=32&r=G) [function.copy]: failed to open stream: HTTP request failed! in /home/eallion/domains/eallion.com/public_html/usr/plugins/GravatarCache.php on line 121

    2011-01-17 10:55 回复
  15. 已经发你邮箱了。谢谢!

    2010-11-15 18:00 回复
  16. 我试验一下啊。。不知道你的行不行。

    还有博主的评论回复插件怎么配置的?能发个配置截图给我邮箱里吗?

    我不会。谢谢了!
    hellowind@live.com

    2010-11-12 09:44 回复
    1. 这样,你去看一下,找一下相应目录有没有相应图片文件,如果没有的话?然后你先禁用插件,禁用前记得在设置选项里把删除缓存文件选上(或者手动去删除),然后再启用,启用后把你说的 warning 信息发到我邮箱,邮箱请用 关于页面 中所留地址,谢谢!

      2010-11-12 10:16
  17. 博主看头像地址,多了个/

    还有可不可以看下我的博客怎么搞的?有的可以显示 有的不可以显示

    2010-11-10 11:05 回复
    1. 已经发你邮箱了……

      2010-11-29 09:43
    2. 发你邮箱了。主要是我发现。只要是未注册过Gravatar的头像都无法显示默认头像,显示的是一个X。

      但是本地测试正常。放到博客上就不行。

      2010-11-12 09:42
    3. 多了个 / 没有关系的,是怎么样一种情况呢?你可以截图发到我邮箱

      2010-11-10 19:38
  18. 我这没显示错误,但是你看评论里的头像都是XXX~

    2010-10-27 20:07 回复
    1. 应该是由于前一阵子gravatar 部份服务器宕机所致,你可以试碰上更改插件里头获取头像的地址,把 0.gravatar.com 改为 www.gravatar.com

      2010-11-02 23:40
  19. eee eee

    为什么我启用不了啊,上传后启用它说我插件头部出错~

    2010-10-16 13:55 回复
    1. eee eee

      你上邮箱...

      2010-10-17 15:29
    2. 请把错误信息贴上来,或者发至我邮箱。

      2010-10-16 14:56
  20. 这篇看懂了,不需要吧,没必要,gravatar 的服务器还不错了。没见过几个头像加载不出来的了。

    2010-10-14 17:28 回复
    1. 经常碰到加载不出来的。。

      2010-10-14 19:32
  21. 最近很有想法换到typecho。。

    2010-10-12 20:45 回复
    1. 好哇好哇,来吧,欢迎你来到 typecho 怀抱~

      2010-10-14 17:29
    2. 不要换,还是 WP 吧,对国产信心还是不足啊,虽然现在很是很绿色,但性能也不强悍,可用性也比较差。

      2010-10-14 17:29
  22. long long

    这个插件怎么使用啊,放上去后台根本看不到这个插

    2010-10-09 14:24 回复
    1. 请确认插件目录可写,估计你没有上传成功。

      2010-10-09 14:47
  23. 奇怪了,默认没有头像的,会是个叉叉。

    2010-10-03 18:32 回复
    1. 在nginx 下未做测试,抱歉,因为无相应环境,请你确认下 php 配置里allow_url_fopen = on; 是否如此设置。

      2010-10-09 14:46
    2. 没有任何错误提示,缓存目录可写,但有好多全是0字节的文件,这些0字节的文显示了全是XX。
      用的是NGINX安装了EA缓存

      2010-10-04 20:50
    3. 按道理是不会出现这种情况的,启用插件或在使用过程中是否有其它错误提示?另外,请确保目录可写。

      2010-10-04 18:07
  24. @Byends 报错
    Warning: copy() [function.copy]: URL file-access is disabled in the server configuration in /home/yijian/domains/blog.feicz.cn/public_html/usr/plugins/GravatarCache.php on line 98

    Warning: copy(http://0.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=32&r=G&d=X) [function.copy]: failed to open stream: no suitable wrapper could be found in /home/yijian/domains/blog.feicz.cn/public_html/usr/plugins/GravatarCache.php on line 98

    Warning: copy() [function.copy]: URL file-access is disabled in the server configuration in /home/yijian/domains/blog.feicz.cn/public_html/usr/plugins/GravatarCache.php on line 121

    Warning: copy(http://0.gravatar.com/avatar/abfb9378ec92e3b74d7dbc8bf6cafe74?d=X&s=32&r=G) [function.copy]: failed to open stream: no suitable wrapper could be found in /home/yijian/domains/blog.feicz.cn/public_html/usr/plugins/GravatarCache.php on line 121

    这样的情况。
    还有请教一下用

    2010-09-20 10:41 回复
    1. 大部分主机都不支持那个呀~。。。

      要开采集参数。。。

      2011-02-18 11:43
    2. 请在 php.ini 配置里设置 allow_url_fopen = on;

      另:对于随机标签,请你向 随机标签 作者 询问。

      2010-09-20 12:18
  25. 用了 效果很不错!呵呵

    2010-09-16 22:15 回复
  26. JET JET

    是否能在这个插件基础上加上读者墙功能,羽中那个较为复杂。

    我在WAMP环境下测试能用!

    2010-09-16 12:48 回复
  27. yuyue yuyue

    收下,以后再用

    2010-09-15 16:28 回复
  28. sa sa

    现在很多博客都启用了Gravatar,又是一个流行的功能啊

    2010-09-14 20:03 回复
  29. gao gao

    你好,typecho的上一篇下一篇文章的函数是什么啊,谢谢

    2010-09-14 00:03 回复
    1. $this->thePrev();
      $this->theNext();

      2010-09-14 01:01
  30. 这个我也有装

    2010-09-10 17:16 回复
  31. 这个需要收藏!呵呵

    2010-09-08 22:03 回复
  32. 缓存大行其道啊

    2010-09-08 08:08 回复
    1. 都是受你们WP用户的影响- -

      2010-09-08 15:47
  33. 看来是沙发了,顶你!

    2010-09-08 01:14 回复
    1. 谢过~

      2010-09-08 15:46

添加新评论 »