웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
이미지 전용 파일업로드시의 확장자 체크시..
2003.05.07 22:46
팁&테크라기보다는 꽁수라고 해야 어울리겠네요..
<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()의 정보를 보고 삽질해본결과 잘되네요..
혹시 중복이면 말해주시기 바랍니다.
<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()의 정보를 보고 삽질해본결과 잘되네요..
혹시 중복이면 말해주시기 바랍니다.
댓글 4
-
앳플군
2003.05.08 08:31
-
특급잠수부
2003.05.08 13:12
제목에도 있지만 저것은 이미지 전용 입니다.
일반 자료실이 아닙니다. -
행복한고니
2003.05.09 00:37
매뉴얼에서 getimagesize 함수 부분을 보시면...
$size = getimagesize ( string filename [, array imageinfo])
과 같이 쓰시고(반환형이 배열입니다),
$size[0] : 이미지의 너비
$size[1] : 이미지의 높이
$size[2] : 이미지의 종류(1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF :: PHP 4.3 이상)
$size[3] : height="yyy" width="xxx" 라는 문자열 출력(이미지 태그에 사용하는 형식)
저게 더 유용해보이죠? *^^* -
김지호
2003.06.06 23:10
//행복한고니
exif_imagetype()은 파일의 헤더부분만 읽고 판단하기 때문에 속도가 훨씬 빠릅니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
htmlspecialchars 사용하시는 분들 [5] | holies | 2003.07.11 |
이미 인클루드된 파일은 다시 인클루드하지 않기 [14] | 김병희 | 2003.06.20 |
PHP 익히기 3 [11] | 구리구리 | 2003.06.17 |
PHP 익히기 2 [9] | 구리구리 | 2003.06.10 |
PHP 익히기 1 [24] | 구리구리 | 2003.06.09 |
php 로 기존 문서 포함시키기 [10] | 이성헌 | 2003.06.08 |
체크박스등으로 배열로 변수를 넘길때.. [1] | myself2 | 2003.06.06 |
홈페이지의 내용을 DB에 담기 [15] | 세죠위그이 | 2003.05.30 |
썸네일 자동생성하고 이미지 사이즈 자동 줄이기... [6] | sMokaHallo | 2003.05.21 |
Wake On Lan 기능 사용하기... [3] | sMokaHallo | 2003.05.17 |
스킨 시스템 구축.(1탄 읽어오기) [11] | 씨파개 | 2003.05.13 |
none 과 null 처리 문제 해결법 [5] | 허현승 | 2003.05.12 |
세션파일 크기/만들어진 시간체크해서 정해진 시간이후엔 파일 지우기?;; (라고 써야되낭? ;;) [6] | 다오케이 | 2003.05.12 |
PHP+MSSQL?(수정판) [11] | 씨파개 | 2003.05.10 |
이미지 전용 파일업로드시의 확장자 체크시.. [4] | 특급잠수부 | 2003.05.07 |
mysql_fetch_row n mysql_fetch_array n mysql_fetch_object [4] | sMokaHallo | 2003.05.06 |
if 시리즈 2탄.. ㅡㅡ;; [9] | 씨파개 | 2003.05.05 |
PHP 확장 함수를 이용한 exif 정보 출력 [1] | NoSoRi | 2003.04.30 |
if 시리즈 1탄! [15] | 씨파개 | 2003.04.28 |
ID3v1태그 읽는 함수입니다. [4] | 김승태 | 2003.04.27 |
.. 저렇게 하시면 보안버그가 나옵니다.
"test.php." 도 php로 인식합니다. 하지만 . 뒤에 문자열은 null이기때문에 문제없이 올라갑니다.
"test.php.dat" 도 php로 인식합니다. 하지만 확장자가 "dat" 이기 때문에 문제없이 올라갑니다.
http://temp.atply.com/test.php.?
http://temp.atply.com/test.php.dat?
PHP를 많이 만져 보셨던 분들은 그냥 넘어가주시고 처음 보시는 분들은 한번쯤 참조하시기 바랍니다;