TimThumb 出现如下的提示 Could not find the internal image you specified., 意思是找不到指定的图片。如果想压缩图片,首先要获取图片。现在的问题是获取不到图片。
首先在程序中找了一下,程序是执行到哪里出问题了。
程序执行到错误提示前,有个判断this->isURL
不为真,说明走的本地文件。在服务器上,使用的是代理,文件本身就存在。 TimThumb
同样支持远程文件,本地文件不存在,就走远程的文件,就可以。
解决的方法
TimThumb中有一行代码
$this->src = preg_replace('/https?:\/\/(?:www\.)?' . $this->myHost . '/i', '', $this->src);
注释掉就可以。
了解更多
比如一个请求
https://www.liuhaolin.com/timthumb.php?src=/imgdir/img.jpg?w=300&h=200&zc=1
# $this->src = https://www.liuhaolin.com/timthumb.php?src=/imgdir/img.jpg?w=300&h=200&zc=1;
# $this->myHost = www.liuhaolin.com
执行上面的代码,把一个远程文件,变成了一个本地。 需要做的是,不进行转化。所以注释掉这行代码就可以。