因为timthumb基于安全问题,除了支持指定的几个网站的外链图片外,不支持其它任何外链图片;另一方面则是因为对本机图片地址的处理导致。解决的方法很简单,仅需要增加支持的外链域名,和修改对机图片处理的代码即可。解决方式如下:
1、编辑timthumb.php文件,找到以下代码(大概131行)
if(! isset($ALLOWED_SITES)){
$ALLOWED_SITES = array (
'flickr.com',
'staticflickr.com',
'picasa.com',
'img.youtube.com',
'upload.wikimedia.org',
'photobucket.com',
'imgur.com',
'imageshack.us',
'tinypic.com',
'nicetheme.cn', //新增加的域名
);
}
添加到您的域名到里面去即可。
2、在timthumb.php文件,找到以下代码(大概220行):
$this->src = preg_replace('/https?:\/\/(?:www\.)?' . $this->myHost . '/i', '', $this->src);
把该行代码删除或注释掉即可。提示:这行代码的意思是“如果图片地址是本机的,则删除图片url中本机的域名部分”。
3、完成上面的操作,保存后,重新刷新网站页面图片就会显示了。
4、如果图裂了,请检测文件权限是否是755。