timThumb:PHP图片压缩裁剪程序

21 sec read

关于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/

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

AttributeError: ‘NoneTyp…

在PyCharm创建的Virtualenv环境下,使用pip安装包时,老是提示需要升级pip,具体提示信息为:
12 sec read

Anaconda包更新遇到的问题及解决方案

Anaconda可以通过命令升级所有的Python包,具体命令为:conda update –al
7 sec read

复合事件处理CEP简介

什么是复合事件处理? 这是一个IT事件爆发的时代,各种IT系统之间或系统内部,每天产生大量事件。系统在关键点打
23 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注