标点符(钱魏 Way)

timThumb:PHP图片压缩裁剪程序

关于timthumb这个程序很早之前在研究WordPress主题的时候就有遇到过。timthumb是一个小型的PHP程序(只有一个timthumb.php文件),它能实现裁剪、缩放和重新设定图片尺寸等功能,支持jpg, png, gif三种文件格式。

timthumb的使用方法如下:scr=“/timthumb.php?src=/images/pic.jpg&w=100&h=200&zc=1&q=80”。其中w是设定宽度为100px;h是设定高度为200px;zc是是否裁剪图片的设计(1为裁剪,0为不裁剪);q为图片压缩质量(默认75,取值为0-100)。

使用timthumb该注意的问题:

  1. 服务器要开启GD库。
  2. 程序会在同目录下生成cache文件夹用来存储生成的小图片,请将cache的权限设为“777”,timthumb.php所在的文件夹权限也设为”777”。
  3. 请使用绝对地址来表示原有图片,改程序不支持外链图片。
  4. 最好将规则写入.htaccess文件中。

timthumb优化方法:

1、开启cache

TimThumb是有cache功能的,如果你的图片没有cached,请查看timthumb.php文件第45行左右 check_cache…. 移除前面的#或//符号,这将使服务器响应时间加快5倍(100ms降低到20ms)。其次最好将cache目录设为网站上传目录(upload目录)(有人如此建议)。第35行:$cache_dir = ‘./cache’;

2、设置最大压缩比

图片的最后一个参数不是质量级别而是压缩级别。我们可以单独修改这个参数达到最大压缩比。找到timthumb.php文件第174行左右 $quality = floor($quality * 0.09); 在下面添加:$quality = 9;

3、加快图片的载入速度

你可以把以下规则添加进你的.htaccess文件中,可加速图片载入速度:

RewriteEngine on

RewriteRule .* – [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]

RewriteRule .* – [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]

4、设置客户端缓存

将第317行左右的最大有效期设为:header(“Cache-Control: max-age=315360000,public”);

下两行左右位置,设为:header(“Expires: ” . gmdate(“D, d M Y H:i:s”, time() + 315360000) . “GMT”);

5、设置静态地址

将图片的动态地址改为静态地址也会加快服务器的响应速度。

程序地址:http://code.google.com/p/timthumb/

码字很辛苦,转载请注明来自标点符《timThumb:PHP图片压缩裁剪程序》

评论