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

C语言学习:size_t

在学习C语言的时候,遇到了一个新的数据类型size_t,截止目前也没有完全理清这个类似的具体场景及出现的原因。
44 sec read

C语言学习:main()函数的正确写法

C语言虽然是一门古老的语言,但是其标准一直在完善,所以很多以前支持的语法在到当前已经不能在使用了。 C语言的版
41 sec read

Scipy数学函数的Scala实现

最近在推进项目的时候,遇到需要将线下的Python代码转化成线上的集群代码,由于机器代码环境是Scala,所以
4 min read

发表评论

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