TimThumb是一个简洁高效的创建图片缩略图的程序。它功能非常强大,并且制定性很强。通过对多个参数的控制,你可以灵活地设置缩略图片的输出样式。
然而,有时候具体应用时,会产生一些性能问题。由于它的调用方式
<IMG alt="" src="/scripts/timthumb.php?src=/images/whatever.jpg&h=150&w=150&zc=1">
服务器可能不会自动对图片进行压缩,也不会自动添加图片的客户端缓存过期时间。下面我们来看一下如何解决这些问题。
开启cache
TimThumb是有cache功能的,如果你的图片没有cached,请查看timthumb.php文件第45行左右
check_cache....
移除前面的#或//符号,这将使服务器响应时间加快5倍(100ms降低到20ms)。
修改cache目录
最好将cache目录设为网站上传目录(upload目录)(有人如此建议)。第35行:
$cache_dir = ‘./cache’;
计算timthumb.php文件所在目录深度,.将cache_dir设为../… /uploads/
设置最大压缩比
PNG图片的最后一个参数不是质量级别而是压缩级别。我们可以单独修改这个参数达到最大压缩比。
找到timthumb.php文件第174行左右
$quality = floor($quality * 0.09);
在下面添加:
$quality = 9;
加快图片的载入速度
你可以把以下规则添加进你的.htaccess文件中,可加速图片载入速度:
RewriteEngine on
RewriteRule .* – [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* – [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
设置客户端缓存
将第317行左右的最大有效期设为:
header("Cache-Control: max-age=315360000,public");
下两行左右位置,设为:
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 315360000) . "GMT");
设置静态地址
将图片的动态地址改为静态地址也会加快服务器的响应速度。
参考:
http://www.speedingupwebsite.com/2010/02/11/hacking-timthumb-php-all-the-best-practices/
关于timthumb.php更多用法:
我现在面对的问题是,在主机空间上,它表现很正常,
可是在我的windows xp + xampp的localhost上,无法显示缩略图。
不知道博主能否给些提示或者线索?谢谢
应该是连接的问题吧,看了你的网站,发现使用的是绝对连接
“timthumb.php?src=http://www.dennispot.com/wp-content/uploads/2010/04/resignation-letter.jpg”
我一直用相对连接,如:src=”/scripts/timthumb.php?src=/images/whatever.jpg&h=150&w=150&zc=1″ windows下测试是好用的。
另外看一下本地目录能否生成,缓存图片,不能生成的话,估计就是这个问题。如果可以生成,就考虑浏览器配置问题吧。
发现很多图片主题都有这个文件
000webhsot用TimThumb生成缩略图的地址的时候会变成
timthumb.php?src=src27%/wp-content/uploads/2010/04/resignation-letter.jpg%27%20alt=
这样的形式
请问有什么解决的方法吗?
没见过,查看一下你的文档是否是utf8格式,27%及20%应该是一些标点符号,仔细检查你的代码,使得src与/wp-content之间没有标点及空格,结尾同样道理。我的链接格式如下:
怎么把图片的动态地址改为静态地址
直接使用生成的缩略图的url即可,在缓存目录里,也可以将其移动到别的目录引用。
请问怎么把绝对地址改为相对地址啊?
我的地址是http://www.baby.ddisk.com/wp-content/themes/DailyNotes/timthumb.php?src=http://www.baby.ddisk.com/wp-content/uploads/2011/04/123.jpg&h=200&w=200&zc=1
显示路径错误 我应该怎么修改 在哪个地方修改 希望得到博主指点谢谢
请问
设置静态地址
将图片的动态地址改为静态地址也会加快服务器的响应速度。
这个具体方法如何实现