首頁 > 後端開發 > php教程 > PHP圖片處理類別 phpThumb參數用法介紹

PHP圖片處理類別 phpThumb參數用法介紹

高洛峰
發布: 2023-03-04 18:38:02
原創
1781 人瀏覽過

phpThumb幾個基本參數 
一些有用的參數列一下: 
src:目標圖片的地址 
w:輸出圖片的寬度 
h:輸出圖片的高度(如果不指定他將按w參數等比縮放) 
h:輸出圖片的高度(如果不指定他將按w參數等比縮放) 
q :輸出如果是JPG格式的,可​​以規定它的輸出品質 
bg:輸出時的背景(如果需要) 
sw、sh、sx、sy:局部輸出,寬高、起始位置 
f:輸出格式,可以為jpeg、png、gif、ico 
sfn:輸出gif動畫中的某一幀 
fltr[]:濾鏡,可以有很多效果,包括銳利化、模糊、旋翻轉、水印、邊框、遮照、色彩調整等等。 com/thumbs/images/image.50×50.jpg 這樣的網址,腳本產生your.com/images/image.jpg 的縮圖,並且儲存到your.com/thumbs/images/image.50×50.jpg ,下次造訪就不用調PHP 啦。 
簡介 
大約一年以前我碰到了 phpThumb 這個牛掰的腳本,它是個用來縮放圖片的開源專案。當然你可以用 GD2 或 imagemagick(magickwand) 來做同樣的事情,但 phpThumb 是專門做這個的。它用起來相當簡單: 
PHP圖片處理類別 phpThumb參數用法介紹 
如果訪問量很大的話就撐不住了,因為apache 要為每個圖片的請求去調PHP 來解析phpThumb 的程式碼。儘管 phpThumb 自己有緩存,它還是要調 PHP 來決定是否要從快取裡讀。
我曾經看見有人用mod_rewrite 把不存在的圖片重定向到一個可以產生縮圖的腳本,以此來解決效能問題: 
你需要: 
Apache 
mod_rewrite 
PHP 
這些東西通常都有虛擬主機,至於通常虛擬主機,至於怎麼安裝就不在本文的討論範圍內了。 
OK,快告訴我怎麼弄吧!
上傳phpThumb 
從這裡下載phpThumb:http://phpthumb.sourceforge.net/ ,把它上傳到yoursite.com/phpthumb 
設定Mod_Rewrite 
新新創
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?thumb=$1 [L,QSA] 
 
新建縮略圖產生腳本: 
新建yoursite.com/thumbs/index.php 

$thumb = $_GET['thumb']; 
if (!$thumb) { 
exit; 
} 
// 
$thumb_array = explode('.',$thumb); 
$image = '../'; 
foreach($thumb_array as $k=>$thumb_part){ 
if ($k != count($thumb_array)-2) { 
$image .= $thumb_part . '.'; 
} 
} 
$image = substr($image,0,-1); 
list($width,$height) = explode('x',$thumb_array[count($thumb_array)-2]); 
// 
if (file_exists($image)) { 
require('../phpthumb/phpthumb.class.php'); 
$phpThumb = new phpThumb(); 
$phpThumb->setSourceFilename($image); 
$phpThumb->setParameter('w',$width); 
$phpThumb->setParameter('h',$height); 
//$phpThumb->setParameter('far','C'); // scale outside 
//$phpThumb->setParameter(&#39;bg&#39;,&#39;<SPAN class=caps>FFFFFF</SPAN>&#39;); // scale outside 
if ($phpThumb->GenerateThumbnail()) { 
mkdir(dirname($thumb),0777,true); 
if ($phpThumb->RenderToFile($thumb)) { 
header(&#39;Location: /thumbs/&#39;.$thumb); 
exit; 
} 
} 
}
登入後複製

測試一下!
上傳一張圖片到yoursite.com/images/myimage.jpg 
打開你的瀏覽器,訪問yoursite.com/thumbs/images/myimage.100×100.jpg 

檢查thumbs 目錄,在那應該有個縮圖。下次造訪就不用調 PHP 啦。 


更多PHP圖片處理類別 phpThumb參數用法介紹相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板