알짜게시판

[PHP] Imagek 를 이용한 썸네일 생성

<?php
// Imagik 를 이용한 썸네일 생성
function thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height)
{
   $thumbname = 'thumb-'.preg_replace("/\.[^\.]+$/i", "", $filename).'_'.$thumb_width.'x'.$thumb_height.'.png';

   $thumb_file = $target_path.'/'.$thumbname;
   if(is_file($thumb_file)) return $thumbname;

   $source_file = $source_path.'/'.$filename;
   if(!is_file($source_file)) return;

   $img = new Imagick($source_file);

   $img->thumbnailImage($thumb_width, $thumb_height);

   $img->setImageFormat('png');
   $img->writeImage($thumb_file);

   return $thumbname;
}

// 사용하기
$thumbname = thumbnail('원본파일명', '원본파일경로', '썸네일저장경로', '썸네일 넓이', '썸네일 높이');
if($thumbname)
{
   header('Expires: '.gmdate('D, d M Y H:i:s', time()+(60*60*24*365)).' GMT');
   header('Cache-Control: max-age='.(60*60*24*365));
   header('Pragma: public');
   header('Content-Type: image/png');

   $fp = fopen($filepath.'/'.$thumbname, 'rb');
   if (!fpassthru($fp)) fclose($fp);
}

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
[윈도우] 윈도11 강제업데이트 피하고 윈도10 계속 쓰기 19,775 25-10-12
[리눅스] PHP 파일 업로드 용량 늘리기 35,167 25-10-03
[HTML] 애드센스 충돌 문제 해결하기 56,380 25-09-20
[파이썬] Python Playwright로 Edge 브라우저 제어하기 69,074 25-09-12
[델파이] TDirectory.Delete 대신 CMD 으로 폴더 삭제 70,811 25-09-10
[HTML] 애드센스 자동 광고 사용 시 빈 화면이 출력된다면? 158,493 25-06-20
[워드프레스] xmlrpc.php 차단으로 보안 강화하기 136,316 25-06-05
[델파이] 폼이 모니터 한 가운데 있는 경우 자연스럽게 왼쪽으로 이동시키기 133,894 25-05-26
[윈도우] WSH script registration is not valid. 134,009 25-05-23
[워드프레스] 제목 블록 기본값을 H5로 변경하는 방법 115,455 25-05-22
[파이썬] 동영상 특정 영역 모자이크(흐리게) 하기 47,054 25-04-30
[리눅스] 구글 크롬 콘솔 'Attestation check for Topics on' 에러 원인 & 해결방… 60,166 25-04-11
[크롬] 개발자 도구(DevTools)에서 붙여넣기 안될때 72,433 25-03-10
[그누보드] SmartEditor2Skin.html 다운로드 되는 현상 110,383 25-01-08
[PHP] 검색 로봇 접속시 종료 56,657 24-10-07
[리눅스] PHP-FPM 튜닝을 위한 메모리 계산 41,693 24-08-29
[윈도우] 아이폰 벨소리 쉽게 추가하기 94,557 24-06-14
[윈도우] C:\Windows\Installer 폴더 다른 드라이브로 옮기기 105,264 24-05-29
[PHP] REQUEST 값 받기(application/json 포함) 99,582 24-04-20
[리눅스] 데몬(systemd service) 작성 및 실행하기 66,375 24-03-14
[MySQL] 업데이트 이후 에러 발생([ERROR] Incorrect definition of table … 92,008 23-12-08
구글 크롬 탭검색 비활성화 72,879 23-12-04
[MySQL] MySQL, MariaDB 업데이트 73,884 23-11-24
[아이폰] HTTPS 감청 우회하기 382,264 23-11-01
[러스트] Windows에 Rust 설치하기 57,824 23-10-05
[ReactNative] android directory was detected in the project. 65,768 23-07-20
[리눅스] 메일(Mail) 삭제/초기화 58,615 23-07-18
[델파이] 윈도우 알림센터에 메시지 출력하기 55,890 23-06-20
텔레그램 봇 (Telegram Bot) 만들기 38,513 23-05-03
[부트스트랩] nav 에서 하위 항목 활성화 시 부모 항목 활성화 35,245 23-04-30
[리눅스] PHP 버전 추가하기 34,996 23-04-29
목록
개봉닷컴철학인문엠씨스탁결혼의정석결혼준비