웹마스터 팁

팁&테크라기보다는 꽁수라고 해야 어울리겠네요..

<form enctype=multipart/form-data>
<input type=file name=upfile>

를 해줬을 경우에는
$upfile_name
$upfile_type
의 전역변수가 생깁니다.

보통의 경우는 .을 기준으로 한 마지막부분의 문자열을 가져와서 문자열체크를 하는데요.

$upfile_name 은
jpg -> image/pjpeg
gif -> image/gif
bmp -> image/bmp
등 그 파일의 type을 가져옵니다.

저것으로 제어를 해줘도 되고
밑의 exif를 이용하는 방법도 있습니다.

단 php 컴파일시에 --enable-exif 를 추가해주셔야 합니다.
exif_imagetype의 용법은

int|false exif_imagetype ( string filename)

입니다.
리턴값은
1 = IMAGETYPE_GIF,
2 = IMAGETYPE_JPEG,
3 = IMAGETYPE_PNG,
4 = IMAGETYPE_SWF,
5 = IMAGETYPE_PSD,
6 = IMAGETYPE_BMP,
7 = IMAGETYPE_TIFF_II (intel byte order),
8 = IMAGETYPE_TIFF_MM (motorola byte order),
9 = IMAGETYPE_JPC,
10 = IMAGETYPE_JP2,
11 = IMAGETYPE_JPX,
12 = IMAGETYPE_SWC

로 가져오고 없는경우 false를 반환합니다.
일단 폼에서 tmp디렉토리로 업로드 된후 copy나 move하니까요
이때의 파일명은 $upfile 입니다.
echo 를 이용해 직접 찍어보시면 무슨 말인지 아실겁니다.

이리저리 웹서핑하다가 exif_imagetype()의 정보를 보고 삽질해본결과 잘되네요..
혹시 중복이면 말해주시기 바랍니다.