php > 내가 만들어 쓰는 함수 > 이미지관련 내장함수 image_type_to_extension, image_type_to_mime_type
제 강좌를 출처를 밝히고 외부로 퍼가는 것은 허용하지만,
다른 강좌의 자료나 책의 자료로 사용되거나 부분적인 인용은 허용하지 않습니다.
기본적인 라이브러리는 연동되었다는 가정하에 진행합니다.
예전 개발 환경에서는 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
댓글 1개
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2130 | 17년 전 | 1186 | ||
| 2129 |
ⓧ힘내세요
|
17년 전 | 2240 | |
| 2128 | 17년 전 | 2875 | ||
| 2127 | 17년 전 | 4058 | ||
| 2126 | 17년 전 | 3145 | ||
| 2125 | 17년 전 | 1409 | ||
| 2124 | 17년 전 | 1707 | ||
| 2123 | 17년 전 | 2238 | ||
| 2122 | 17년 전 | 1546 | ||
| 2121 | 17년 전 | 1726 | ||
| 2120 | 17년 전 | 2719 | ||
| 2119 | 17년 전 | 2146 | ||
| 2118 | 17년 전 | 1799 | ||
| 2117 |
아름다운세상
|
17년 전 | 4208 | |
| 2116 | 17년 전 | 3049 | ||
| 2115 | 17년 전 | 1435 | ||
| 2114 |
아름다운세상
|
17년 전 | 3571 | |
| 2113 | 17년 전 | 2798 | ||
| 2112 | 17년 전 | 2077 | ||
| 2111 | 17년 전 | 1294 | ||
| 2110 | 17년 전 | 2336 | ||
| 2109 | 17년 전 | 2071 | ||
| 2108 | 17년 전 | 1993 | ||
| 2107 |
휴전합시다
|
17년 전 | 1925 | |
| 2106 | 17년 전 | 1171 | ||
| 2105 |
|
17년 전 | 1873 | |
| 2104 | 17년 전 | 2930 | ||
| 2103 | 17년 전 | 1435 | ||
| 2102 | 17년 전 | 1672 | ||
| 2101 | 17년 전 | 1357 | ||
| 2100 | 17년 전 | 1603 | ||
| 2099 | 17년 전 | 1577 | ||
| 2098 | 17년 전 | 1447 | ||
| 2097 | 17년 전 | 2569 | ||
| 2096 | 17년 전 | 2331 | ||
| 2095 | 17년 전 | 2114 | ||
| 2094 | 17년 전 | 1422 | ||
| 2093 | 17년 전 | 2439 | ||
| 2092 | 17년 전 | 4264 | ||
| 2091 | 17년 전 | 2754 | ||
| 2090 | 17년 전 | 1667 | ||
| 2089 | 17년 전 | 1859 | ||
| 2088 | 17년 전 | 3241 | ||
| 2087 | 17년 전 | 2237 | ||
| 2086 | 17년 전 | 3835 | ||
| 2085 | 17년 전 | 1682 | ||
| 2084 | 17년 전 | 2287 | ||
| 2083 | 17년 전 | 2110 | ||
| 2082 | 17년 전 | 1616 | ||
| 2081 | 17년 전 | 2129 | ||
| 2080 |
letsgolee
|
17년 전 | 1922 | |
| 2079 | 17년 전 | 1962 | ||
| 2078 | 17년 전 | 3077 | ||
| 2077 | 17년 전 | 2152 | ||
| 2076 | 17년 전 | 1444 | ||
| 2075 | 17년 전 | 1463 | ||
| 2074 | 17년 전 | 2134 | ||
| 2073 | 17년 전 | 3207 | ||
| 2072 | 17년 전 | 2143 | ||
| 2071 |
휴전합시다
|
17년 전 | 1536 | |
| 2070 | 17년 전 | 4253 | ||
| 2069 | 17년 전 | 2046 | ||
| 2068 | 17년 전 | 3468 | ||
| 2067 | 17년 전 | 6041 | ||
| 2066 | 17년 전 | 1486 | ||
| 2065 |
letsgolee
|
17년 전 | 1655 | |
| 2064 | 17년 전 | 1235 | ||
| 2063 | 17년 전 | 1350 | ||
| 2062 |
vicky
|
17년 전 | 2878 | |
| 2061 | 17년 전 | 1910 | ||
| 2060 |
카프카07
|
17년 전 | 2597 | |
| 2059 | 17년 전 | 1311 | ||
| 2058 | 17년 전 | 3188 | ||
| 2057 | 17년 전 | 2167 | ||
| 2056 | 17년 전 | 2614 | ||
| 2055 | 17년 전 | 1407 | ||
| 2054 | 17년 전 | 1760 | ||
| 2053 | 17년 전 | 1152 | ||
| 2052 |
|
17년 전 | 1211 | |
| 2051 | 17년 전 | 1796 | ||
| 2050 | 17년 전 | 1235 | ||
| 2049 | 17년 전 | 4317 | ||
| 2048 | 17년 전 | 1518 | ||
| 2047 | 17년 전 | 2014 | ||
| 2046 |
카프카07
|
17년 전 | 7095 | |
| 2045 | 17년 전 | 1386 | ||
| 2044 | 17년 전 | 1906 | ||
| 2043 | 17년 전 | 3137 | ||
| 2042 | 17년 전 | 1232 | ||
| 2041 |
카프카07
|
17년 전 | 1989 | |
| 2040 | 17년 전 | 1169 | ||
| 2039 |
smilesol
|
17년 전 | 1861 | |
| 2038 | 17년 전 | 2165 | ||
| 2037 |
|
17년 전 | 2977 | |
| 2036 | 17년 전 | 1252 | ||
| 2035 |
|
17년 전 | 1346 | |
| 2034 |
ㅣ곰탱이ㅣ
|
17년 전 | 1567 | |
| 2033 |
|
17년 전 | 1234 | |
| 2032 | 17년 전 | 4363 | ||
| 2031 | 17년 전 | 3904 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기