php圖型分析插件,IMAGE縮略圖插件

應用信息 fabcf87af1e07fa6f9ee0c46c93d1a09.png 名稱: IMAGE縮略圖插件 售價: (免費)

應用ID: IMAGE 最低要求: Z-BlogPHP 1.5.1 Zero Build 151740

版 本: 2 發布日期: 2014-08-27

PHP最低版本要求: 5.3 更新日期: 2018-05-21

立即購買 加入購物車

作者信息 fabcf87af1e07fa6f9ee0c46c93d1a09.png 開發者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 兼容

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454763.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

職業生涯步步高

在擔任公司高管的幾年間,我面試過數以百計的各個層面的員工,其中最讓我感到遺憾的一個現象就是很多人有著非常好的素質,甚至有的還是名校的畢業生,因為不懂得去規劃自己的職業,在工作多年后,依然拿著微薄的…

httpd2.2配置文件詳解

一丶Apache常用目錄詳解1) /etc/httpd/conf/httpd.confhttpd.conf是Apache的主配文件,整個Apache也不過就是這個配置文件,里面幾乎包含了所有的配置。有的distribution都將這個文件拆分成數個小文件分別管理不同的參數。但是主要配置文件還是以這個文件為…

2017.9.5 postgresql加密函數的使用

需要安裝的插件的名字:pgcrypto官網地址:https://www.postgresql.org/docs/9.4/static/pgcrypto.htmlstackoverflow:https://stackoverflow.com/questions/8000740/how-do-i-install-pgcrypto-in-postgresql-9-1-on-windows/46046367#46046367https://st…

php 序列化方法,PHP序列化操作方法分析

本文實例講述了PHP序列化操作方法。分享給大家供大家參考,具體如下:序列化就是將變量數據轉換為字符串(跟類型轉換機制不同),一般應用于存儲數據(文件),然后在別的情形下恢復(反序列化)序列化:$val serialize($var);f…

Redis入門到精通-Redis數據類型

2019獨角獸企業重金招聘Python工程師標準>>> 登錄Redis數據庫 [rootlocalhost bin]# /usr/local/redis/bin/redis-cli String類型 ? String 數據結構是簡單的key-value類型,value其實不僅是String,也可以是數字,是包含很多種類型…

裝機之 BIOS、EFI與UEFI詳解

在我們的電腦中,都有一塊黑色的小芯片。但是請千萬不要小看它,如果它損壞或者數據錯誤亂套的話,恭喜,如果不會“救回”這個小芯片,那么這臺電腦可以掛閑魚賣零件了…… 這個小芯片是什么呢?對,…

c/c++筆試題

微軟亞洲技術中心的面試題!!! 1.進程和線程的差別。 線程是指進程內的一個執行單元,也是進程內的可調度實體. 與進程的區別: (1)調度:線程作為調度和分配的基本單位,進程作為擁有資源的基本單位 (2)并發性&…

php 模板 php + mysql + myodbc,連接MySQL數據庫在ASP中,就用MyODBC

我們大家都知道ASP與MySQL連接現在應用最為廣泛的兩種辦法是,一是使用組件,經常使用的是MySQL(和PHP搭配之最佳組合)X,可惜價格很貴。另一個就是用MyODBC來連接MySQL數據庫,下面我們就來看看第二種方式。 試驗的平臺: …

Android Gradle和Gradle插件區別

2019獨角獸企業重金招聘Python工程師標準>>> 一、引言 1、什么是Gradle?什么是Gradle插件? build.gradle中依賴的classpath com.android.tools.build:gradle:2.1.2和gradle-wrapper.properties中的distributionUrlhttps\://services.gradle.org/distributions/gra…

裝機之MBR和GPT

MBR分區 MBR的意思是“主引導記錄”,是IBM公司早年間提出的。它是存在于磁盤驅動器開始部分的一個特殊的啟動扇區。這個扇區包含了已安裝的操作系統系統信息,并用一小段代碼來啟動系統。如果你安裝了Windows,其啟動信息就放在這一段代碼中—…

Linux 文件打亂順序

cat in.txt | awk BEGIN{srand()}{print rand()"\t"$0} | sort -k1,1 -n | cut -f2- > out.txt sort -R in.txt > out.txt 后者要計算每行的hash,再排序,在文件內容比較多的情況下前者要比后者快得多 參考文獻: http://blog.…

php 計算 目錄大小,php計算整個目錄大小的方法

本文實例講述了php計算整個目錄大小的方法。分享給大家供大家參考。具體實現方法如下:/*** Calculate the full size of a directory** author Jonas John* version 0.2* link http://www.jonasjohn.de/snippets/php/dir-size.htm* param string $DirectoryPath Dir…

實驗報告3

中國人民公安大學 Chinese people’ public security university 網絡對抗技術 實驗報告 實驗三 密碼破解技術 學生姓名 陸圣宇 年級 2014 區隊 三 指導教師 高見 信息技術與網絡安全學院 2016年11月7日 實驗任務總綱 2016—2017 學年 第 一 學期 一、實驗目的 1&am…

裝機之windows10和ubuntu雙系統

制作系統U盤 下載Ubuntu16.04 我們首先去Ubuntu的官網下載一個Ubuntu16.04的iso鏡像文件。當然里面也有優麒麟,其實就是把Ubuntu16.04漢化了一下,個人推薦安裝Ubuntu16.04 體驗上可能好一些。 利用軟碟通制作 不會的可以查看此教程https://blog.csdn…

函數之內置函數1

什么是內置函數:別人已經定義好了的函數,我們只管拿來調用就好 locals:局部作用域中的變量 globals:全局作用域中的變量 這兩者在全局執行,結果一樣;在局部中locals表示函數內的名字,返回的是一…

matlab var std,Matlab var std cov 函數解析

在Matlab中使用var求樣本方差,使用std求標準差!首先來了解一下方差公式:p [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93]p -0.9200 0.7300 -0.4700 0.7400 0.2900-0.0800 0.8600 -0.6700 -0.5200 0.9300…

Java中什么是匿名對象,空參構造方法輸出創建了幾個匿名對象,屬性聲明成static...

package com.swift; //使用無參構造方法自動生成對象,序號不斷自增 public class Person {private static int count; //如果在定義類時,使用的是靜態的屬性,則得到的結果是不同的。count生命周期長,與類相同public int id;public…

裝機之制作系統U盤

工具:UltraISO(軟碟通),iso鏡像 在制作系統U盤的時候我們需要去下一個軟件——UltraISO(軟碟通),這個自己去百度搜索一下應該就能出來的。下載安裝完以后,我們打開軟碟通的界面打開…

訪問index.php跳轉,打開index.php后,跳轉到/user/login.html

jeff2009-11-03 20:54:47注釋后,產生這些錯誤:Notice: Undefined property: myRouter::$user in /data/zentaophp/app/pms/module/common/control.php on line 91Notice: Trying to get property of non-object in /data/zentaophp/app/pms/module/commo…

關于清空object對象里的屬性的兩種方法

最近碰到一個問題,就是要清空對象里的屬性,我想了兩個方法,做個結果的記錄,都是自己的想法,有不對的地方請指教 var obj{};  //對象里的屬性自己看著寫吧 第一種方法: objnull; 這種方法看上去很快速&…