파일 확장자에 따른 업로드 확인하는.....

if($_FILES[movie][name]){
 $file_movie=explode(".", $_FILES[movie][name]);
 $extension = $file_movie[sizeof($file_movie)-1];
 
 if(!strcmp($extension, "mpeg") || !strcmp($extension, "wmv")){
 } else {
  echo "<script>alert('동영상 파일이 아닙니다.'); history.back();</script>";
  exit;
 }
}
 
위 처럼 하면 체크가 되는데..
 
if($_FILES[movie][name]){
 $file_movie=explode(".", $_FILES[movie][name]);
 $extension = $file_movie[sizeof($file_movie)-1];
 
 if(strcmp($extension, "mpeg") || strcmp($extension, "wmv")){
  echo "<script>alert('동영상 파일이 아닙니다.'); history.back();</script>";
  exit;
 }
}
 
아래처럼 하면 왜 체크가 안될까요?
|

댓글 5개

위 처럼 하면 체크가 되는데..

if($_FILES[movie][name]){
$file_movie=explode(".", $_FILES[movie][name]);
$extension = $file_movie[sizeof($file_movie)-1];

if(strcmp($extension, "mpeg") || strcmp($extension, "wmv")){
echo "<script>alert('동영상 파일이 아닙니다.'); history.back();</script>";
exit;
}
}

에서

$file_movie=explode(".", $_FILES[movie][name]); 부분의 explode...?

$file_movie = $_FILES[movie][name];

으로 해 보시지요....테스트는 안해봄......ㅠ.ㅠ
$_FILES[movie][name]

요놈은 파일 이름인데요...;가령....test.wmv 가 출력되는데.... 쩜으로 분리한건데요.

strcmp

!strcmp
가 잘 안되는....
헉~~! 죄송합니다.....제 글 작성전에 명함아이님 댓글만 보고.....ㅠ.ㅠ
strcmp()는 두 문자열이 같으면 0이 리턴 되니까

!strcmp()를 써야겠구요.

strcmp()보다는 strncmp()를,
strncmp() 보다는 strncasecmp()를 권합니다.
아하...그렇네요...0이 리턴되니까.....

천상재회님. rolo님 답변 고맙습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,791
19년 전 조회 1,527
19년 전 조회 1,535
19년 전 조회 1,563
19년 전 조회 1,793
19년 전 조회 1,586
19년 전 조회 1,543
19년 전 조회 1,612
19년 전 조회 1,529
19년 전 조회 2,030
19년 전 조회 1,768
19년 전 조회 1,534
19년 전 조회 1,687
19년 전 조회 1,493
19년 전 조회 2,106
19년 전 조회 1,522
19년 전 조회 1,642
19년 전 조회 1,631
19년 전 조회 1,720
19년 전 조회 1,551
🐛 버그신고