DeveWork

使用七牛云存储 图片缩略图功能取代 timthumb.php

好吧,其实这是个很简单的方法,最终你需要做的其实只是修改行代码。因此,本文面向的是一些使用七牛云存储的、对修改代码不怎么熟悉的童鞋,高手请略过。相信不少WordPress 主题都是用 timthumb.php 来进行缩略图裁切,用 timthumb.php 替代WordPress 自带的缩略图功能固然有它的好处,但其缺点也是不可小视:1、安全性。具体不多说,请以“ timthumb 漏洞”为关键词google it。但据说新版 timthumb已经解决该漏洞问题了;2、占用服务器资源,timthumb.php 运行起来挺占内存的;3、生成的缩略图文件要占用空间。

使用七牛的缩略图功能之好处

如果你有使用七牛云存储的话,大可将timthumb.php 的缩略图裁切功能替换为七牛的图片缩略图功能——也可以完美解决上面所说三个缺点。安全性就跟正常加载图片那样,缩略图文件存储在七牛的服务器上面,减少本地服务器压力;更重要的是,通过七牛的CDN 加速,取得不错的加载速度。

一个例子

如果需要一个使用七牛云存储 图片缩略图功能取代 timthumb.php 的例子,那么请前往 Jeff的阳台 首页,新版Jeff的阳台 的主题就是直接用七牛的取代了 timthumb.php。具体查看首页缩略图的路径研究一下就知道了。下面的教程可以结合Jeff的阳台的来领会、运用。

需要注意的是,缩略图的源图片必须在七牛的服务上,否则下面都是空话。如果图片是外链的,对于WordPress ,请用一些网络图片转本地插件来转换,具体不多说。

教程

下面以Jeff的阳台 首页文章列表缩略图 为例子予以教学:

如首页文章列表的缩略图之前是用 timthumb.php 的,相关位置的代码如下:

 

post_thumbnail_src 函数的话,不少中文主题的functions.php 都有这个函数或其他名称的功能类似的函数。

post_thumbnail_src 函数的功能是“选图”——如果有,输出自定义域图片地址;否则,如果有特色缩略图,则输出缩略图地址;再接着是文章第一张图片,最后是默认缩略图或者随机图片。该段函数详见《WordPress纯代码高仿 无觅相关文章 图文模式功能》。如有不同,请自行修改为自己的。

熟悉 timthumb.php 的用法就知道截的是200x150 大小的缩略图,参数zc=1表示从图片中央进行裁剪。要转用七牛的缩略图功能,先到七牛开发者后台,进入你的图片所在的bucket(空间):

点击“数据处理”,先设置分隔符,如Jeff 设置为 -(中划线):

然后新建图片样式

根据上面的代码,我需要的是200x150 的缩略图,那么图片样式设置应该为如图:

样式名称 可以自定义,Jeff 为了识别方便,名称是所截的大小。

保存所有设置后,将上面的代码修改为以下:

 

分隔符使用方法: http://绑定域名/文件名称 + 分隔符 + 处理样式名,这不用解释了吧?

保存,刷新一下浏览器,正常的话就搞定了。