알짜게시판

[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);
}

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

제목 글쓴이 조회 날짜
[파이썬] Python Playwright로 Edge 브라우저 제어하기 8,929 09-12
[델파이] TDirectory.Delete 대신 CMD 으로 폴더 삭제 11,776 09-10
[HTML] 애드센스 자동 광고 사용 시 빈 화면이 출력된다면? 118,591 06-20
[워드프레스] xmlrpc.php 차단으로 보안 강화하기 132,230 06-05
[델파이] 폼이 모니터 한 가운데 있는 경우 자연스럽게 왼쪽으로 이동시키기 133,501 05-26
[윈도우] WSH script registration is not valid. 133,599 05-23
[워드프레스] 제목 블록 기본값을 H5로 변경하는 방법 115,062 05-22
[파이썬] 동영상 특정 영역 모자이크(흐리게) 하기 46,685 04-30
[리눅스] 구글 크롬 콘솔 'Attestation check for Topics on' 에러 원인 & 해결방… 59,767 04-11
[크롬] 개발자 도구(DevTools)에서 붙여넣기 안될때 71,990 03-10
[그누보드] SmartEditor2Skin.html 다운로드 되는 현상 110,017 01-08
[PHP] 검색 로봇 접속시 종료 56,310 10-07
[리눅스] PHP-FPM 튜닝을 위한 메모리 계산 41,330 08-29
[윈도우] 아이폰 벨소리 쉽게 추가하기 94,211 06-14
[윈도우] C:\Windows\Installer 폴더 다른 드라이브로 옮기기 104,886 05-29
[PHP] REQUEST 값 받기(application/json 포함) 99,230 04-20
[리눅스] 데몬(systemd service) 작성 및 실행하기 66,252 03-14
[MySQL] 업데이트 이후 에러 발생([ERROR] Incorrect definition of table … 91,909 12-08
구글 크롬 탭검색 비활성화 72,793 12-04
[MySQL] MySQL, MariaDB 업데이트 73,818 11-24
[아이폰] HTTPS 감청 우회하기 358,492 11-01
Windows에 Rust 설치하기 57,746 10-05
[ReactNative] android directory was detected in the project. 65,701 07-20
[리눅스] 메일(Mail) 삭제/초기화 58,539 07-18
[델파이] 윈도우 알림센터에 메시지 출력하기 55,820 06-20
텔레그램 봇 (Telegram Bot) 만들기 38,443 05-03
[부트스트랩] nav 에서 하위 항목 활성화 시 부모 항목 활성화 35,178 04-30
[리눅스] PHP 버전 추가하기 34,924 04-29
[PHP] Curl 접속 속도가 늦은 경우 36,900 04-10
[윈도우] 파일 내용 검색 46,034 02-09
[MySQL] unblock with 'mysqladmin flush-hosts' 에러 54,046 01-01
목록