php 이미지 리사이즈
php에서 이미지 크기를 변경하는 건 빈번하게 사용되는 기술입니다.
보통 썸네일 이미지를 만들 때 많이 사용되는데요.
관련 소스들이 어중간한게 많아 새로 만들었습니다 :)
function resize_image($file, $newfile, $w, $h) {
list($width, $height) = getimagesize($file);
if(strpos(strtolower($file), ".jpg"))
$src = imagecreatefromjpeg($file);
else if(strpos(strtolower($file), ".png"))
$src = imagecreatefrompng($file);
else if(strpos(strtolower($file), ".gif"))
$src = imagecreatefromgif($file);
$dst = imagecreatetruecolor($w, $h);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $w, $h, $width, $height);
if(strpos(strtolower($newfile), ".jpg"))
imagejpeg($dst, $newfile);
else if(strpos(strtolower($newfile), ".png"))
imagepng($dst, $newfile);
else if(strpos(strtolower($newfile), ".gif"))
imagegif($dst, $newfile);
}
은근히 파일의 종류가 jpg인지 gif인지 png인지에 따라 처리를 각각 다르게 하기 번거로워서,
파일명에 붙는 확장자로 자동 판단하도록 적용하였습니다.
사용법은 아래와 같습니다 :)
resize_image("원본파일명", "대상파일명", 변경될가로크기, 변경될세로크기 );
샘플 ( 200 x 100 픽셀의 이미지로 변환 )
resize_image("org/model.jpg", "new/model200.jpg", 200, 100); // 알아서 jpg 유형의 파일 생성
resize_image("org/model.jpg", "new/model200.png", 200, 100); // 알아서 png 유형의 파일 생성
resize_image("org/model.jpg", "new/model200.gif", 200, 100); // 알아서 gif 유형의 파일 생성
※ 혹시나 노파심에 몇글자 더 적습니다.
이미지를 생성할 폴더는 쓰기 권한이 있어야 합니다
리눅스 셀 창이나 FTP 창에서 766 으로 권한 바꾸는걸 잊지 말아 주세요 :)
> chmod 766 new
'코드이그나이터와 php7와 mysql' 카테고리의 다른 글
코드이그나이터 뷰의 파라미터 전달 (0) | 2019.09.27 |
---|---|
php - resize image function (2) | 2019.09.18 |
php, 네임스페이스 [ namespace ] ?! (0) | 2019.09.14 |
코드이그나이터4의 URL 규칙 (0) | 2019.09.07 |
비주얼 스튜디오 코드 에디터 - 웹페이지 편집(2) (0) | 2019.09.03 |