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개
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2730 | 15년 전 | 654 | ||
| 2729 | 15년 전 | 1401 | ||
| 2728 |
|
15년 전 | 932 | |
| 2727 |
용다섯마리
|
15년 전 | 691 | |
| 2726 |
니콜크더만
|
15년 전 | 775 | |
| 2725 |
Insungbyun
|
15년 전 | 836 | |
| 2724 | 15년 전 | 1228 | ||
| 2723 | 15년 전 | 725 | ||
| 2722 | 15년 전 | 739 | ||
| 2721 | 15년 전 | 959 | ||
| 2720 | 15년 전 | 688 | ||
| 2719 |
|
15년 전 | 1428 | |
| 2718 | 15년 전 | 1052 | ||
| 2717 |
디이자이너
|
15년 전 | 2872 | |
| 2716 |
|
15년 전 | 1363 | |
| 2715 | 15년 전 | 657 | ||
| 2714 |
고추장불고기
|
15년 전 | 622 | |
| 2713 | 15년 전 | 787 | ||
| 2712 | 15년 전 | 1265 | ||
| 2711 | 15년 전 | 1189 | ||
| 2710 | 15년 전 | 668 | ||
| 2709 | 15년 전 | 793 | ||
| 2708 |
TWM소프트
|
15년 전 | 982 | |
| 2707 |
|
15년 전 | 1216 | |
| 2706 |
|
15년 전 | 1017 | |
| 2705 | 15년 전 | 999 | ||
| 2704 | 15년 전 | 1190 | ||
| 2703 |
|
15년 전 | 667 | |
| 2702 |
|
15년 전 | 654 | |
| 2701 | 15년 전 | 1060 | ||
| 2700 | 15년 전 | 647 | ||
| 2699 | 15년 전 | 1747 | ||
| 2698 | 15년 전 | 2255 | ||
| 2697 |
|
15년 전 | 822 | |
| 2696 | 15년 전 | 820 | ||
| 2695 | 15년 전 | 1483 | ||
| 2694 |
|
15년 전 | 888 | |
| 2693 | 15년 전 | 978 | ||
| 2692 | 15년 전 | 1388 | ||
| 2691 |
Homepix
|
15년 전 | 1550 | |
| 2690 | 15년 전 | 1653 | ||
| 2689 | 15년 전 | 1091 | ||
| 2688 |
sooram
|
15년 전 | 1759 | |
| 2687 |
terrorboys
|
15년 전 | 1571 | |
| 2686 |
진정한승리
|
15년 전 | 802 | |
| 2685 |
|
15년 전 | 1794 | |
| 2684 |
진정한승리
|
15년 전 | 923 | |
| 2683 |
dannykim
|
15년 전 | 782 | |
| 2682 | 15년 전 | 827 | ||
| 2681 | 15년 전 | 778 | ||
| 2680 | 15년 전 | 948 | ||
| 2679 | 15년 전 | 963 | ||
| 2678 | 15년 전 | 1173 | ||
| 2677 |
|
15년 전 | 3186 | |
| 2676 | 15년 전 | 1755 | ||
| 2675 | 15년 전 | 904 | ||
| 2674 | 15년 전 | 1606 | ||
| 2673 | 15년 전 | 772 | ||
| 2672 | 15년 전 | 909 | ||
| 2671 |
다케미카코
|
15년 전 | 1868 | |
| 2670 | 15년 전 | 1816 | ||
| 2669 | 15년 전 | 859 | ||
| 2668 |
terrorboys
|
15년 전 | 1115 | |
| 2667 | 15년 전 | 1069 | ||
| 2666 | 15년 전 | 1036 | ||
| 2665 | 15년 전 | 1222 | ||
| 2664 | 15년 전 | 954 | ||
| 2663 | 15년 전 | 979 | ||
| 2662 | 15년 전 | 900 | ||
| 2661 | 15년 전 | 1034 | ||
| 2660 | 15년 전 | 948 | ||
| 2659 | 15년 전 | 1543 | ||
| 2658 | 15년 전 | 783 | ||
| 2657 | 15년 전 | 754 | ||
| 2656 | 15년 전 | 1394 | ||
| 2655 | 15년 전 | 1294 | ||
| 2654 | 15년 전 | 1234 | ||
| 2653 | 15년 전 | 805 | ||
| 2652 | 15년 전 | 1596 | ||
| 2651 | 15년 전 | 978 | ||
| 2650 | 15년 전 | 1634 | ||
| 2649 |
windday
|
15년 전 | 1988 | |
| 2648 | 15년 전 | 1416 | ||
| 2647 | 15년 전 | 7612 | ||
| 2646 | 15년 전 | 1036 | ||
| 2645 | 15년 전 | 1262 | ||
| 2644 | 15년 전 | 991 | ||
| 2643 | 15년 전 | 1204 | ||
| 2642 | 15년 전 | 978 | ||
| 2641 | 15년 전 | 1194 | ||
| 2640 |
프리랜서개발자
|
15년 전 | 925 | |
| 2639 | 15년 전 | 2016 | ||
| 2638 | 15년 전 | 1028 | ||
| 2637 | 15년 전 | 934 | ||
| 2636 | 15년 전 | 1424 | ||
| 2635 | 15년 전 | 1316 | ||
| 2634 | 15년 전 | 1046 | ||
| 2633 | 15년 전 | 917 | ||
| 2632 | 15년 전 | 951 | ||
| 2631 | 15년 전 | 1233 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기