>백엔드 개발 >PHP 튜토리얼 >PHP 이미지 처리 클래스 phpThumb 매개변수 사용법 소개

PHP 이미지 처리 클래스 phpThumb 매개변수 사용법 소개

高洛峰
高洛峰원래의
2017-01-12 14:41:121789검색

phpThumb의 여러 기본 매개변수
유용한 매개변수 목록:
src: 대상 이미지의 주소
w: 출력 이미지의 너비
h: 출력 이미지의 높이( 지정하지 않으면 w 매개변수에 따라 크기가 조정됩니다.)
q: 출력이 JPG 형식인 경우 출력 품질을 지정할 수 있습니다.
bg: 출력 중 배경(필요한 경우)
sw , sh, sx, sy: 부분 출력, 너비, 높이, 시작 위치
f: 출력 형식, jpeg, png, gif, ico 가능
sfn: gif 애니메이션에서 특정 프레임 출력
fltr []: 필터, 캔 샤프닝, 블러링, 회전, 워터마크, 테두리, 마스킹, 색상 조정 등 다양한 효과가 있습니다.
자세한 효과는 공식 루틴을 참고하세요:
http:// phpthumb.sourceforge.net/demo/ 데모/phpThumb.demo.demo.php
phpThumb 및 .htaccess를 사용하여 썸네일 캐시
원칙: 사용자는 your.com/thumbs/images/image.50과 같은 URL을 방문합니다. ×50.jpg, 스크립트는 .com/images/image.jpg 썸네일을 생성하여 your.com/thumbs/images/image.50×50.jpg에 저장합니다. 다음에 PHP를 조정할 필요가 없습니다. 방문하다.
소개
약 1년 전 저는 이미지 크기 조정을 위한 오픈 소스 프로젝트인 phpThumb이라는 멋진 스크립트를 발견했습니다. 물론 GD2나 imagemagick(magickwand)을 사용하여 동일한 작업을 수행할 수 있지만 phpThumb은 이를 위해 설계되었습니다. 사용 방법은 매우 간단합니다.
376641d44bca1d93fafa9a4327aabbca
방문 횟수가 많으면 사용할 수 없습니다. 이를 유지하려면 Apache가 각 이미지 요청에 대해 phpThumb 코드를 구문 분석하도록 PHP를 조정해야 하기 때문입니다. phpThumb에 자체 캐시가 있더라도 여전히 PHP를 호출하여 캐시에서 읽을지 여부를 결정해야 합니다.
누군가가 mod_rewrite를 사용하여 존재하지 않는 이미지를 썸네일을 생성할 수 있는 스크립트로 리디렉션하여 성능 문제를 해결하는 것을 본 적이 있습니다.
필요한 사항:
Apache
mod_rewrite
PHP
이런 것들이 필요합니다. 일반적으로 가상 호스트에서 사용할 수 있습니다. 설치 방법은 이 문서의 범위를 벗어납니다.
좋아요, 어떻게 하는지 알려주세요!
phpThumb 업로드
여기에서 phpThumb을 다운로드하세요: http://phpthumb.sourceforge.net/ 그리고 yoursite.com/phpthumb에 업로드하세요
Mod_Rewrite 구성
새 yoursite.com/thumbs/.htaccess 만들기 :
85ac288f8cdf15251785b7af9467eee6
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ 인덱스. php?thumb=$1 [L,QSA]
2071f931c9870be1bebed0bdda8305e7
새 썸네일 생성 스크립트 만들기:
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 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.