越来越多的 wordpress 主题使用 timthumb.php 这个插件文件来实现缩略图功能。通过 timthumb,用户在后台上传的各种图片都会按照预先在前端页面中设置的大小进行剪裁。不过部分使用七牛等云存储的用户(站点图片地址为 xxx.qiniu.com)却无法正常显示 timthumb 缩略图。
由于 timthumb 出于安全考虑不允许缓存外部地址图片,因此我们打开 timthumb 缓存路径时会提示 “您可能无法从该网站获取的图像” 。如果这样的话,我们可以通过修改 timthumb 的安全策略,使其能够支持抓取外部的图片进行缓存。具体操作方法为:
在 timthumb.php 中搜索
define ('ALLOW_ALL_EXTERNAL_SITES', false)
将其替换为:
define ('ALLOW_ALL_EXTERNAL_SITES', TRUE)
上传后即可实现对站外链接的图片进行抓取缩略了。另外如果缓存的外部图片域名固定,也可以在 timthumb 的 ALLOWED_SITES 处添加域名白名单。