插件特点
本插件基于官方应用中心sf_img1进行修改,功能为依据设定条件生成缩略图,同时本插件具有以下特点:
1、独立了缩略图路径至根目录的static文件夹,方便设置robots.txt进行收录;
2、修改了缩略图的缓存文件类型为jpg,当存在实体缩略图文件时,web服务器直接读取(需要伪静态支持),不再经过php处理读取,速度大幅度提升(300ms~500ms=>50ms~100ms);
3、去掉了没人维护的tclip模块;
4、修改插件内置的base64编码为Url安全的base64编码;
5、增加了设置是否允许缓存外部Url的图片,增强服务器安全性;
6、修改了插件内置的正则规则,增强可用性;
7、插件内置提供了nginx、apache、iis的web.config三种规则----没有伪静态不要这个插件也罢(这个后面再说);
使用方法:
1、基本与原sf_img1一致,但是由于需要上架官方app中心,插件ID不可以相同,所以修改了插件ID和对应的类名,如果使用本插件需要对原适配主题进行相应修改。
2、主题中使用文章缩略图在使用缩略图前必须插入一下代码。其中第一个180表示宽,第二个180表示高。{php}IMAGE::getPics($article,180,180,$type){/php}
之后可通过$article变量访问{if$article->IMAGE_COUNT>0}{/if}
//也可以使用{$article.IMAGE_First}直接获得到文章中的第一个缩略图,当文章中不存在图片时,返回null。
3、其他方式获取缩略图{php}$src=IMAGE::getPicUrlBy("你的图片地址,包含http://",180,180,$type){/php}
4、修改上述代码中的$type参数可以选择不同裁剪方式:
$type==0: 高度为主导,等比例缩放,如果原图大于缩略图,产生缩小,否则不缩小。
$type==1: 程序会按照图片的尺寸从中部裁切最大的正方形,并按目标尺寸进行缩略 ,原图过小时,显示原图尺寸。
$type==2: 不缩放,仅按照设定尺寸裁剪(由左至右,由上至下)。
$type==3: 宽度为主导,等比例缩放,如果原图大于缩略图,产生缩小,否则不缩小。
$type==4: 这种方法先按照固定比例缩小图片,之后裁剪多余部分。但是如果原图过小,则会拉伸至设定的大小。
$type==5:这种方法会强制缩小/拉伸到指定大小,不剪裁。
ChangeLog:
.03.21 拯救博士
.12.07 修复正则匹配的问题。
.05.16 apache open_basedir 兼容