유

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

· 2010-02-09 (화) 16:51:51 · 3102 · 1
대단할것은 없는 강좌이지만,
제 강좌를 출처를 밝히고 외부로 퍼가는 것은 허용하지만,
다른 강좌의 자료나 책의 자료로 사용되거나 부분적인 인용은 허용하지 않습니다.


강좌는 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

[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|

댓글 1개

2010-03-20 (토) 17:51:25
잘봤습니다~
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
10-05-18 조회 2,882
10-05-15 조회 4,153
10-05-10 조회 2,839
10-04-29 조회 5,538
10-04-28 조회 3,742
10-04-17 조회 4,693
10-04-15 조회 3,159
10-04-04 조회 3,379
10-04-02 조회 2,665
10-03-23 조회 5,844
10-03-19 조회 5,405
10-03-05 조회 5,168
10-03-01 조회 6,821
10-02-27 조회 4,996
10-02-26 조회 3,363
10-02-23 조회 3,325
10-02-23 조회 3,446
10-02-19 조회 3,157
10-02-17 조회 5,573
10-02-17 조회 4,315
10-02-17 조회 3,742
10-02-12 조회 3,087
10-02-12 조회 3,427
10-02-12 조회 3,752
10-02-11 조회 2,878
10-02-11 조회 3,945
10-02-09 조회 3,254
10-02-09 조회 3,378
10-02-09 조회 3,103
10-02-09 조회 3,746
10-02-09 조회 3,010
10-02-09 조회 3,350
10-01-26 조회 3,465
10-01-25 조회 2,584
10-01-25 조회 2,681
10-01-23 조회 3,312
10-01-23 조회 6,794
10-01-20 조회 3,031
10-01-19 조회 3,500
10-01-13 조회 3,701
10-01-07 조회 2,900
10-01-07 조회 2,693
10-01-07 조회 3,656
10-01-07 조회 6,354
09-12-31 조회 3,635
09-12-27 조회 4,330
09-12-18 조회 3,115
09-12-14 조회 5,152
09-12-14 조회 6,025
09-12-06 조회 4,636
09-11-26 조회 3,653
09-11-24 조회 3,771
09-11-24 조회 4,184
09-11-23 조회 3,545
09-11-21 조회 6,917
09-11-20 조회 4,786
09-11-19 조회 2,709
09-11-19 조회 3,062
09-11-13 조회 6,541
09-11-11 조회 3,659
09-11-09 조회 4,696
09-11-09 조회 3,991
09-11-09 조회 2,876
09-11-04 조회 6,713
09-10-26 조회 3,847
09-10-10 조회 7,335
09-10-09 조회 3,348
09-10-08 조회 5,306
09-09-19 조회 4,382
09-09-15 조회 3,521
09-09-14 조회 3,542
09-09-11 조회 5,666
09-09-04 조회 4,794
09-08-31 조회 4,140
09-08-31 조회 4,342
09-08-30 조회 3,412
09-08-30 조회 3,139
09-08-30 조회 2,989
09-08-30 조회 2,689
09-08-30 조회 2,994
09-08-30 조회 3,219
09-08-30 조회 2,906
09-08-16 조회 6,229
09-08-14 조회 5,194
09-08-12 조회 3,138
09-08-12 조회 2,933
09-08-12 조회 3,655
09-07-24 조회 5,901
09-07-23 조회 4,951
09-07-22 조회 3,994
09-07-22 조회 5,635
09-07-22 조회 4,589
09-07-22 조회 2,785
09-07-21 조회 2,683
09-07-21 조회 3,320
09-07-19 조회 3,200
09-07-17 조회 3,914
09-07-17 조회 3,476
09-07-17 조회 2,757
09-07-15 조회 5,842