被遗忘的角落
前些天看到好多人的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
使用方法:即插即用
我的老是出现这个怎么办啊。sedir is set in /wwwroot/FTP1CEEE/htdocs/usr/plugins/GravatarCache.php on line 201
2011-04-24 19:59 回复Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_ba
这个问题我解决了 。我把201行给屏蔽了,暂时没有啥问题
2011-04-24 21:14WP用户路过……
2011-04-22 18:09 回复欢迎早日投入TypeEcho的怀抱。
2011-04-22 21:09非常喜欢博主的文章,希望能交换友链,方便常来支持。
2011-04-16 00:44 回复是么?我表示怀疑!
2011-04-22 21:17你是不是弄个函数让其他的插件调用啊,我有时候总是需要用到你的缓存头像,虽然调用成功了,但是很死,地址都是是写死的。
2011-04-15 16:02 回复你要弄个函数,只要传入EMAIL,就能去获得缓存头像。。
可以弄个方法供调用,不过你说的地址写死的是指什么地址?图片地址?图片地址写死没有影响呀,是不是指 html 结构写了?
2011-04-22 17:43更新去。。。
2011-04-15 15:55 回复最近经常出现0kb的图片,然后头像就显示不出来了,不知道什么原因
2011-04-15 10:16 回复用最新版本试一下,记得先清空原来的图片缓存。
2011-04-15 11:41不错。~
2011-04-14 10:19 回复跟着更新了,改动了啥?
2011-02-25 14:56 回复增加获取图片的方法,现在有 curl/fopen/copy 三个方法,加强成功率
2011-02-25 15:04折腾完了,不过在我读者墙还是有些问题。
2011-02-25 03:36 回复哪天你Q在线的时候联系我一下,问些问题。。
嗯,嵌套只开了一层,多层感觉不好看,呵呵,那我开GTalk~
2011-02-26 11:10貌似我有你的GTALK。。
2011-02-26 05:29我博客的问题就是,你去看我那读者墙,有缓存的才显示,没缓存的就显示默认的。
我像弄成有正常的那种,没有缓存就调用系统的。。
你那个方法调用的参数不太明白。。
我蛋疼,你嵌套回复才一层就没了??
2011-02-26 05:27我扣扣看这里:http://www.binjoo.net/about/,备注里面加我,PS:主要是我自己都不知道验证密码是神马。。
嗯,你Q多少呀~好像我还没加你 - -
2011-02-25 12:43额,我正准备更新的时候我才发现我用的不是你的、。
2011-02-25 02:54 回复我记得一直用的就是你的这个缓存插件啊,蛋疼。。
马上换过来。。。
博主的邮件回复很有个性呀,嘻嘻!
2011-02-13 23:02 回复我也仿做了一个,嘻嘻!
但是出现了一个小小的问题,文章连接的参数是?
博主可以告知一下吗?嘻嘻!
那个插件本身并没有那个参数,是我修改添加进去的~
2011-02-15 00:31怎么下载后只有一个GravatarCache.php文件呀?
2011-02-08 03:06 回复应该还有一个Plugin.php呀!后台找不到插件呀!
您好,感谢使用该插件,这是单文件版的,不需要任何文件夹,把该文件传至插件目录即可在后台激活使用。
2011-02-08 22:39一直在用,过来顶顶
2011-01-30 14:25 回复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 回复已经发你邮箱了。谢谢!
2010-11-15 18:00 回复我试验一下啊。。不知道你的行不行。
还有博主的评论回复插件怎么配置的?能发个配置截图给我邮箱里吗?
我不会。谢谢了!
2010-11-12 09:44 回复hellowind@live.com
这样,你去看一下,找一下相应目录有没有相应图片文件,如果没有的话?然后你先禁用插件,禁用前记得在设置选项里把删除缓存文件选上(或者手动去删除),然后再启用,启用后把你说的 warning 信息发到我邮箱,邮箱请用 关于页面 中所留地址,谢谢!
2010-11-12 10:16博主看头像地址,多了个/
还有可不可以看下我的博客怎么搞的?有的可以显示 有的不可以显示
2010-11-10 11:05 回复已经发你邮箱了……
2010-11-29 09:43发你邮箱了。主要是我发现。只要是未注册过Gravatar的头像都无法显示默认头像,显示的是一个X。
但是本地测试正常。放到博客上就不行。
2010-11-12 09:42多了个 / 没有关系的,是怎么样一种情况呢?你可以截图发到我邮箱
2010-11-10 19:38我这没显示错误,但是你看评论里的头像都是XXX~
2010-10-27 20:07 回复应该是由于前一阵子gravatar 部份服务器宕机所致,你可以试碰上更改插件里头获取头像的地址,把 0.gravatar.com 改为 www.gravatar.com
2010-11-02 23:40为什么我启用不了啊,上传后启用它说我插件头部出错~
2010-10-16 13:55 回复你上邮箱...
2010-10-17 15:29请把错误信息贴上来,或者发至我邮箱。
2010-10-16 14:56这篇看懂了,不需要吧,没必要,gravatar 的服务器还不错了。没见过几个头像加载不出来的了。
2010-10-14 17:28 回复经常碰到加载不出来的。。
2010-10-14 19:32最近很有想法换到typecho。。
2010-10-12 20:45 回复好哇好哇,来吧,欢迎你来到 typecho 怀抱~
2010-10-14 17:29不要换,还是 WP 吧,对国产信心还是不足啊,虽然现在很是很绿色,但性能也不强悍,可用性也比较差。
2010-10-14 17:29这个插件怎么使用啊,放上去后台根本看不到这个插
2010-10-09 14:24 回复请确认插件目录可写,估计你没有上传成功。
2010-10-09 14:47奇怪了,默认没有头像的,会是个叉叉。
2010-10-03 18:32 回复在nginx 下未做测试,抱歉,因为无相应环境,请你确认下 php 配置里allow_url_fopen = on; 是否如此设置。
2010-10-09 14:46没有任何错误提示,缓存目录可写,但有好多全是0字节的文件,这些0字节的文显示了全是XX。
2010-10-04 20:50用的是NGINX安装了EA缓存
按道理是不会出现这种情况的,启用插件或在使用过程中是否有其它错误提示?另外,请确保目录可写。
2010-10-04 18:07@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 回复还有请教一下用
大部分主机都不支持那个呀~。。。
要开采集参数。。。
2011-02-18 11:43请在 php.ini 配置里设置 allow_url_fopen = on;
另:对于随机标签,请你向 随机标签 作者 询问。
2010-09-20 12:18用了 效果很不错!呵呵
2010-09-16 22:15 回复是否能在这个插件基础上加上读者墙功能,羽中那个较为复杂。
我在WAMP环境下测试能用!
2010-09-16 12:48 回复收下,以后再用
2010-09-15 16:28 回复现在很多博客都启用了Gravatar,又是一个流行的功能啊
2010-09-14 20:03 回复你好,typecho的上一篇下一篇文章的函数是什么啊,谢谢
2010-09-14 00:03 回复$this->thePrev();
2010-09-14 01:01$this->theNext();
这个我也有装
2010-09-10 17:16 回复这个需要收藏!呵呵
2010-09-08 22:03 回复缓存大行其道啊
2010-09-08 08:08 回复都是受你们WP用户的影响- -
2010-09-08 15:47看来是沙发了,顶你!
2010-09-08 01:14 回复谢过~
2010-09-08 15:46