php使用timthumb生成縮略圖

最近需要一個在線截圖的接口,但是找了很久沒有合適的,然後自己寫的話又有點麻煩,突然想起來之前使用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',
);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章