웹마스터 팁
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()은 파일의 헤더부분만 읽고 판단하기 때문에 속도가 훨씬 빠릅니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
마우스커서 움직임으로 이미지목록 스크롤 [1] | monozzang | 2005.03.13 |
브라우저를 동적으로 부드럽게 리사이즈 하는 소스 [4] | monozzang | 2005.03.06 |
가로 세로가 호환되는 메뉴 [3] | 이영준 | 2005.03.02 |
주소자동으로 이동 시키기(포워딩) [8] | 네츠키 | 2005.02.22 |
홈피 만들때 자주 사용되는 메타태그 모음 [18] | 김태영 | 2005.02.20 |
상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기. [2] | Xian | 2005.02.19 |
뒤죽박죽어구 찾아내기 [6] | 미친개 | 2005.02.14 |
홈페이지index경로 이외의 하위 경로 차단 하는 방법 [펌] [10] | 프란시스 | 2005.02.05 |
허접한 메일 폼 검사 하기 스크립트입니다.. [1] | Ansi™ | 2005.02.06 |
간단하면서도 강력한 웹페이지에 암호걸기 [5] | 대류 | 2005.02.03 |
더 간단한 top 버튼만들기 [3] | 나상선 | 2005.01.21 |
페이지 경로 히스토리 표시하기 [0003] | EDENe | 2005.01.19 |
그냥 확 멋있는거 그냥그냥!!!! [3] | 미친개 | 2005.01.16 |
COPY & CUT 막기 / 경고 [0002] [10] | EDENe | 2005.01.16 |
홈페이지 TOP 버튼 만들기 + 응용 [0001] [2] | EDENe | 2005.01.15 |
로딩중 스크립트와 셀렉트창 같이 쓰기 [1] | 예뜨락 | 2005.01.13 |
홈페이지 탑 TOP 버튼 만들어보기 [9] | 편입성공기 | 2004.12.06 |
링크주소 감추기 [8] | 편입성공기 | 2004.12.06 |
팝업띄우기 [2] | 편입성공기 | 2004.12.06 |
개판 오분전 빙고 [2] | 미친개 | 2004.12.30 |
.. 저렇게 하시면 보안버그가 나옵니다.
"test.php." 도 php로 인식합니다. 하지만 . 뒤에 문자열은 null이기때문에 문제없이 올라갑니다.
"test.php.dat" 도 php로 인식합니다. 하지만 확장자가 "dat" 이기 때문에 문제없이 올라갑니다.
http://temp.atply.com/test.php.?
http://temp.atply.com/test.php.dat?
PHP를 많이 만져 보셨던 분들은 그냥 넘어가주시고 처음 보시는 분들은 한번쯤 참조하시기 바랍니다;