출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=teach&wr_id=2427&page=2

 

 

대단할것은 없는 강좌이지만,
제 강좌를 출처를 밝히고 외부로 퍼가는 것은 허용하지만, 다른 강좌의 자료나 책의 자료로 사용되거나 부분적인 인용은 허용하지 않습니다.


 

강좌는 php 5. 대를 기준으로 하며, 기본적으로 GD 나 FREETYPE 등의 기본적인 라이브러리는 연동되었다는 가정하에 진행합니다.
예전 개발 환경에서는 GD 나 FREETYPE 등의 연동여부나 php버젼들을 따졌지만, 요새 개발 환경에서는 대부분 기본적으로 다 제공하기 때문에 그렇습니다.


 

php > 내가 만들어 쓰는 함수 > 이미지관련 내장함수 image_type_to_extension, image_type_to_mime_type 입니다.

이전에는 getimagesize 에 대해 알아보았습니다.
이번에는 이미지를 저장하거나 출력할때 필요한 확장자를 반환하는 함수인 image_type_to_extension 과 mimetype 을 반환하는 함수인 image_type_to_mime_type 에 대해 알아보겟습니다.

함수 설명에 앞서 먼저 알아야 할것이 있습니다. 그것은 php 에서 미리 값을 지정한 예약상수입니다. 그중에서도 이번 내용에 필요한 상수에 대해 알아보겟습니다.

IMAGETYPE_GIF
IMAGETYPE_JPEG
IMAGETYPE_PNG
IMAGETYPE_SWF
IMAGETYPE_PSD
IMAGETYPE_BMP
IMAGETYPE_TIFF_II
IMAGETYPE_TIFF_MM
IMAGETYPE_JPC
IMAGETYPE_JP2
IMAGETYPE_JPX
IMAGETYPE_JB2
IMAGETYPE_SWC
IMAGETYPE_IFF
IMAGETYPE_WBMP
IMAGETYPE_XBM


이것들은 모두 이미지타입을 숫자로 정의한 상수입니다. 위에서 부터 순서대로 1부터 16까지의 값을 가집니다.
이것은 굳이 다 외울 필요는 없고 많이 사용하는 이미지 타입인
IMAGETYPE_GIF => 1
IMAGETYPE_JPEG => 2
IMAGETYPE_PNG => 3
IMAGETYPE_SWF => 4
정도만 기억하면 됩니다.

예제 :

<?php

echo "상수 IMAGETYPE_GIF 의 값은 " . IMAGETYPE_GIF . " 입니다.<br />\n";
echo "상수 IMAGETYPE_JPEG 의 값은 " . IMAGETYPE_JPEG . " 입니다.<br />\n";
echo "상수 IMAGETYPE_PNG 의 값은 " . IMAGETYPE_PNG . " 입니다.<br />\n";
echo "상수 IMAGETYPE_SWF 의 값은 " . IMAGETYPE_SWF . " 입니다.<br />\n";
echo "상수 IMAGETYPE_PSD 의 값은 " . IMAGETYPE_PSD . " 입니다.<br />\n";
echo "상수 IMAGETYPE_BMP 의 값은 " . IMAGETYPE_BMP . " 입니다.<br />\n";
echo "상수 IMAGETYPE_TIFF_II 의 값은 " . IMAGETYPE_TIFF_II . " 입니다.<br />\n";
echo "상수 IMAGETYPE_TIFF_MM 의 값은 " . IMAGETYPE_TIFF_MM . " 입니다.<br />\n";
echo "상수 IMAGETYPE_JPC 의 값은 " . IMAGETYPE_JPC . " 입니다.<br />\n";
echo "상수 IMAGETYPE_JP2 의 값은 " . IMAGETYPE_JP2 . " 입니다.<br />\n";
echo "상수 IMAGETYPE_JPX 의 값은 " . IMAGETYPE_JPX . " 입니다.<br />\n";
echo "상수 IMAGETYPE_JB2 의 값은 " . IMAGETYPE_JB2 . " 입니다.<br />\n";
echo "상수 IMAGETYPE_SWC 의 값은 " . IMAGETYPE_SWC . " 입니다.<br />\n";
echo "상수 IMAGETYPE_IFF 의 값은 " . IMAGETYPE_IFF . " 입니다.<br />\n";
echo "상수 IMAGETYPE_WBMP 의 값은 " . IMAGETYPE_WBMP . " 입니다.<br />\n";
echo "상수 IMAGETYPE_XBM 의 값은 " . IMAGETYPE_XBM . " 입니다.<br />\n";

?>


눈치 빠른 분들은 이미 눈치를 채셧겠지만, 저 상수들의 값들이 이전 내용에서 알아보았던 getimagesize 에서 반환되었던 이미지 타입과 일치하는것을 알수 있을겁니다. 그러므로 값들을 모두 외울 필요없이 getimagesize의 리턴값을 바로 사용함으로서 다른 함수에 이용할수 있습니다.

image_type_to_extension
설명 : 이미지의 확장자를 반환합니다.

인자 : 미리 정의 된 이미지 타입 상수 또는 이미지 타입에 해당하는 숫자가 들어갑니다.

용도 :
-> 생성된 이미지를 파일로 저장할때 파일이름에 붙여질 확장자를 알고 싶을때 사용합니다.
-> .gif, .jpg, .png 등의 값으로 반환됩니다.

※ 이 함수는 php 5 이상에서 지원됩니다. 만약 그 미만의 버젼이라면 별도의 함수를 정의해서 사용해야 합니다.



예제 :

<?php

// 100 X 100 짜리 이미지 리소스를 생성한다.
$im = imagecreatetruecolor(100, 100);

// 생성된 이미지를 test.png 로 저장한다.
imagepng($im, './test' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($im);

?>



image_type_to_extension
설명 : 이미지의 mimetype 을 반환합니다.

인자 : 미리 정의 된 이미지 타입 상수 또는 이미지 타입에 해당하는 숫자가 들어갑니다.

용도 :
-> 생성된 이미지를 브라우져에서 출력할때 파일종류를 알리는 mimetype을 알고 싶을때 사용합니다.
-> image/gif, image/jpeg, image/png 등의 값으로 반환됩니다.

예제 :

<?php

$im = imagecreatefrompng('test.png');
header('Content-type: ' . image_type_to_mime_type(IMAGETYPE_PNG));

imagepng($im);
imagedestroy($im);

?>




 

참고 :
http://kr2.php.net/manual/kr/image.constants.php
http://kr2.php.net/manual/kr/function.image-type-to-extension.php
http://kr2.php.net/manual/kr/function.image-type-to-mime-type.php
번호 제목 글쓴이 날짜 조회 수
200 php로excel파일 생성하기 [33] 카츄샤 2012.02.02 23441
199 PHP리디렉션 방법 [2] 카츄샤 2012.02.01 21768
198 php중급강좌 > 이미지 리사이즈 처리를 위한 함수 만들기 [29] MYIP박광춘 2012.01.31 23372
197 php중급강좌 > 원본이미지를 정비율로 리사이즈 처리하기 [7] MYIP박광춘 2012.01.31 28021
196 php중급강좌 > 이미지 처리에 필요한 기본함수 만들기 [2] MYIP박광춘 2012.01.31 22532
195 php중급강좌 > 이미지 복사하기 [2] MYIP박광춘 2012.01.31 24196
» php중급강좌 > 이미지관련 내장함수 image_type_to_extension, image_type_to_mime_type [1] MYIP박광춘 2012.01.31 19022
193 php중급강좌 > 이미지관련 내장함수 getimagesize [6] MYIP박광춘 2012.01.31 19878
192 사이트를 방문하는 클라이언트의 IP주소 가져오기 [187] 카츄샤 2012.01.30 26781
191 php로 사이트를 방문하는 유저의 OS를 판단하기 프로그램: [3] 카츄샤 2012.01.30 18353
190 웹소스코딩가이드 - 기초 [50] 이건 2012.01.26 22279
189 [IIS 7 초급 1-2] PHP 어플리케이션을 위한 IIS 웹 서비스 설치 및 구성 [197] file MYIP박광춘 2012.01.18 32082
188 [IIS 7 초급 1-1] Microsoft 웹 플랫폼 설치 관리자 [19] file MYIP박광춘 2012.01.17 21398
187 [문법] [초보] IP 중간에 모자이크 처리하기~ [4] 이건 2012.01.17 18538
186 [브라우저] 개발환경에서 브라우저가 스크립트 파일 캐시 못하게 하기. [1] MYIP박광춘 2012.01.16 18549
185 [기타] Zend Framework 환경설정파일과 데이터베이스 연결 [8] MYIP박광춘 2012.01.11 20947
184 [DBMS] WHERE 컬럼명 IN (3,1,2) 값의 순서대로 정렬 - ORDER BY FIELD(id, value) [3] MYIP박광춘 2012.01.10 13745
183 [스크립트] url hash 값 파싱과 인코딩입니다. -펌 [14] MYIP박광춘 2012.01.09 14441
182 [xe팁]-외부페이지 직접접속 차단 및 다국어 설정팁 -펌 MYIP박광춘 2012.01.05 16691
181 [xe팁]-IE를 제외한 브라우저에서 첨부파일이 100%에서 사라지는 증세의 해결 [1] MYIP박광춘 2012.01.05 13641