應用信息 名稱: IMAGE縮略圖插件 售價: (免費)
應用ID: IMAGE 最低要求: Z-BlogPHP 1.5.1 Zero Build 151740
版 本: 2 發布日期: 2014-08-27
PHP最低版本要求: 5.3 更新日期: 2018-05-21
立即購買 加入購物車
作者信息 開發者ID: 十五樓的鳥兒 本站用戶組: 管理員
聯系郵箱: admin@birdol.com 聯系QQ: 8769298
作者簡介 服務內容:主題定制、插件定制,接口對接,二次開發等內容;
聯系方式:QQ:8769298。
購買前請仔細查閱發布頁面說明,有問題盡量QQ聯系。
價格:0?元 | 庫存:999?件
提示:此非實物交易,購買后不退款,請考慮好再購買 | 點此查看購買指南
視頻教程地址:點我前往,視頻以應用的ID命名,部分視頻尚未完善。
插件特點
本插件基于官方應用中心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}Nobird\Plugin\IMAGE\IMAGE::getPics($article,180,180,$type){/php}
之后可通過$article變量訪問{if?$article->IMAGE_COUNT>0}{/if}
//也可以使用{$article.IMAGE_First}直接獲得到文章中的第一個縮略圖,當文章中不存在圖片時,返回null。
3、其他方式獲取縮略圖{php}$src=Nobird\Plugin\IMAGE\IMAGE::getPicUrlBy("你的圖片地址,包含http://",180,180,$type){/php}
4、修改上述代碼中的$type參數可以選擇不同裁剪方式:
$type==0: 高度為主導,等比例縮放,如果原圖大于縮略圖,產生縮小,否則不縮小。
$type==1: 程序會按照圖片的尺寸從中部裁切最大的正方形,并按目標尺寸進行縮略 ,原圖過小時,顯示原圖尺寸。
$type==2: 不縮放,僅按照設定尺寸裁剪(由左至右,由上至下)。
$type==3: 寬度為主導,等比例縮放,如果原圖大于縮略圖,產生縮小,否則不縮小。
$type==4: 這種方法先按照固定比例縮小圖片,之后裁剪多余部分。但是如果原圖過小,則會拉伸至設定的大小。
$type==5:這種方法會強制縮小/拉伸到指定大小,不剪裁。
這個插件對偽靜態需求幾乎是必須的
為什么說一定要偽靜態之后才能使用這個插件?
1、功能上其實沒什么問題,就算你不開啟這個插件自帶的偽靜態功能,一樣能實現縮略圖裁剪縮放等功能,節省流量的角度來看,這么做并沒有么問題。
2、速度上來看,單純的一個php文件利用內置函數讀取一個靜態jpg圖片,然后推送到瀏覽器,一般服務器執行時間在300~500ms左右,而直接訪問一個靜態圖片,一般服務器執行時間在50ms左右,靜態圖片的另一個優勢是:當瀏覽器第一次查看之后,第二次刷新優先從瀏覽器緩存讀取(304),節省服務器資源同時可以加快展示速度。特別的:你可以通過服務器設置靜態文件的緩存時間,實現更長時間的用戶本地緩存。
原sf_img1插件不管你是否設置了偽靜態,每次都需要經過php讀取緩存文件,這導致了頁面加載速度極為緩慢,雖然圖片尺寸有所減小,但是...速度并沒有提升,甚至減慢了(當原圖尺寸和縮略圖尺寸接近時)。
3、使用本插件需要注意:偽靜態規則需要寫入在判斷實體文件存在的代碼之后,Apache范例如下:
RewriteEngine?On
RewriteBase?/
RewriteCond?%{REQUEST_FILENAME}?!-f
RewriteCond?%{REQUEST_FILENAME}?!-d
RewriteRule static/(.*?)/(.*?)/(.*?)/(.*?)-(.*?)-(.*?)-(.*?)-a\.jpg zb_users/plugin/IMAGE/pic\.php?src=$4&width=$5&height=$6&cuttype=$7
RewriteRule?.?/index.php
Nginx范例如下:#?如果請求的文件已存在,直接返回
if?(-f?$request_filename)?{
break;
}
rewrite ^/static/(.*)/(.*)/(.*)/(.*)-(.*)-(.*)-(.*)-a.jpg$ /zb_users/plugin/IMAGE/pic.php?src=$4&width=$5&height=$6&cuttype=$7;
#?所有其他請求,轉給?zblog?處理
if?(!-e?$request_filename)?{
rewrite?.?/index.php?last;
}
ChangeLog:
2018.05.21 修正插件在IIS7.5下的緩存表現。
2017.09.02 修改縮略圖存儲規則,不再受單文件夾內文件個數限制。
2017.03.21 拯救博士
2016.12.07 修復正則匹配的問題。
2016.05.16 apache open_basedir 兼容