테스트 사이트 - 개발 중인 베타 버전입니다

파일 확장자 검사 함수 입니다.

· 9년 전 · 1114

만일 스크립트 파일을 확장자를 이미지 확장자로 바꾼다할 지라도 유효성 검사에서 실패하겠죠.

function validate_ext($file, $ext="gif")
{
 $ext = strtolower($ext);
 if (!in_array($ext, array('jpg', 'jpeg', 'png', 'gif', 'zip'))) {
  return false;
 }

 if ($fp = fopen($file, 'rb')) {
  $contents = base64_encode(fread($fp, 30));
  fclose($fp);
 
  switch ($ext) {
   case 'jpeg':
   case 'jpg': $pattern = "/^\/9j\/4AAQSkZJRgABA/"; break;
   case 'png': $pattern = "/^iVBORw0KGgoAAAANSUhEUgAAA/"; break;
   case 'gif': $pattern = "/^R0lGODlh/"; break;
   case 'zip': $pattern = "/^UEsDBBQABAAIA/"; break;
  }

  if (preg_match($pattern, $contents)) {
   return true;
  }
 }

 return false;
}

예를 들어 validate_ext('path/to/img.gif', 'gif') 검사를 했을 때 올바른 확장자의 파일일 경우 true값이 리턴됩니다.

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
18122
18118
18105
18104
18103
18100
18088
18085
18082
18077
18074
18073
18069
18067
18063
18062
18061
18060
18059
18058
18057
18055
18054
18053
18052
18051
18050
18049
18048
18047