[GD] gif/jp(e)g/png 를 이용한 gd 버젼별 썸네일 생성 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

[GD] gif/jp(e)g/png 를 이용한 gd 버젼별 썸네일 생성 정보

[GD] gif/jp(e)g/png 를 이용한 gd 버젼별 썸네일 생성

본문

// 호출시
put_gdimage('원본파일명', 생성가로, 생성세로, '저장될파일명');

// 정상생성여부 확인시 : 정상생성시 1을 리턴, 이외는 실패

// gd 이미지 생성
// $img_name = 생성에 사용될 원본 파일명, $width = 생성이미지 가로크기, $height = 생성이미지 세로크기, $save_name = 저장될 파일명
function put_gdimage($img_name, $width, $height, $save_name){

// GD 버젼체크
$gd = gd_info();
$gdver = substr(preg_replace("/[^0-9]/", "", $gd['GD Version']), 0, 1);
if(!$gdver) return "GD 버젼체크 실패거나 GD 버젼이 1 미만입니다.";

$srcname = "../upload/goods/".$img_name;
$timg = getimagesize($srcname);
if($timg[2] != 1 && $timg[2] != 2 && $timg[2] != 3) return "확장자가 jp(e)g/png/gif 가 아닙니다.";

// jpg, jpeg
if($timg[2] == 2){

$cfile = imagecreatefromjpeg($srcname);
// gd 버전별로
if($gdver == 2){
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $timg[0], $timg[1]);
}else{
$dest = imagecreate($width, $height);
imagecopyresized($dest, $cfile, 0, 0, 0, 0, $width, $height, $timg[0], $timg[1]);
}
imagejpeg($dest, "../upload/goods/".$save_name, 90);

// png
}else if($timg[2] == 3){

$cfile = imagecreatefrompng($srcname);
if($gdver == 2){
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $timg[0], $timg[1]);
}else{
$dest = imagecreate($width, $height);
imagecopyresized($dest, $cfile, 0, 0, 0, 0, $width, $height, $timg[0], $timg[1]);
}
imagepng($dest, "../upload/goods/".$save_name, 90);

// gif
}else if($timg[2] == 1){

$cfile = imagecreatefromgif($srcname);
if($gdver == 2){
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $timg[0], $timg[1]);
}else{
$dest = imagecreate($width, $height);
imagecopyresized($dest, $cfile, 0, 0, 0, 0, $width, $height, $timg[0], $timg[1]);
}
imagegif($dest, "../upload/goods/".$save_name, 90);
}
// 메모리에 있는 그림 삭제
imagedestroy($dest);
return 1;
}

관리자님 g4도 탭 치환좀 해주십시오.
추천
3

댓글 5개

[GD] gif/jp(e)g/png 를 이용한 gd 버젼별 썸네일 생성
에스아이알에 sjsjin님이 올려주신 팁입니다.
[:SourceStart:]
[:BOX4:]

// 호출시
put_gdimage(\'원본파일명\', 생성가로, 생성세로, \'저장될파일명\');

// 정상생성여부 확인시 : 정상생성시 1을 리턴, 이외는 실패

// gd 이미지 생성
// $img_name …
전체 3 |RSS

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT