php使用timthumb生成缩略图

做~自己de王妃 提交于 2020-03-11 12:44:52

最近需要一个在线截图的接口,但是找了很久没有合适的,然后自己写的话又有点麻烦,突然想起来之前使用wordpress的时候碰到一个略缩图类。使用起来不要太方便。这里推荐给大家。

用过timthumb这个类的都应该很熟悉,此类可以用来生成图片的缩略图并加以处理,如果在linux环境下安装了optipng或pngcrush工具,也可以进行网站的截图操作。

文件下载地址:http://www.121xz.com/softdown/19577

wordpress自带的缩略图功能会对每次上传的所有图片根据设置的图片尺寸进行裁剪,并把原图和裁剪后的图片保存在网站空间中,图片只裁剪一次,更改设置的尺寸不会重新生成,这样不仅占用主机空间,以后改版网站时还要使用同一尺寸的图片,否则图片会失真或变形。timthumb.php是专门针对wordpress开发的集成在wordpress主题中的缩略图应用项目,只会对调用的图片进行裁剪,而且是在有访问请求时才临时生成一个配置文件,在一定时间内缓存在空间中,不会生成多余的缩略图。

参数说明:

  • src : 需要进行图片缩放的源图片地址,或者是需要进行截图操作的网页地址
  • webshot : 如果此值为真则进行截图操作
  • w : 生成图片的宽度,如果宽度或高度只设置了一个值,则根据其中一个值进行等比缩放
  • h : 生成图片的高度,如果高度和宽度都没有指定,则默认为100*100
  • zc : 生成图片的缩放模式,可选值0, 1, 2, 3, 默认为1,每个值的不同之处可看下面文件的第100行注释
  • q : 生成图片的质量,默认90
  • a : 超出部分的裁剪位置,和缩放模式有关,可选值t, b, l, r, 默认为从顶部裁剪
  • f : 需要对生成后的图片使用一些过滤器的话,则在这里传不同过滤器的代码和值,具体操作方法可见下面文件的第821行注解
  • s : 是否对生产的图片进行锐化处理
  • cc : 生成图片的背景画布颜色
  • ct : 生成png图片时背景是否透明

温馨提示:

  • timthumb需要主机支持GD库;
  • timthumb处理过程需要一定的服务器资源支持;
  • timthumb不支持外链图片;
  • timthumb出现过漏洞;
  • 作者表示不再更新timthumb。

附修补timthumb.php漏洞问题:

  • 使用最新版的timthumb.php(但作者表示不再更新)
  • 服务器目录权限设置
  • 删除白名单

在文件中找到以下代码,删除或注释掉

1
2
3
4
5
6
7
8
// external domains that are allowed to be displayed on your website
$allowedSites = array (
        'flickr.com',
        'picasa.com',
        'blogger.com',
        'wordpress.com',
        'img.youtube.com',
);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!