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

· 10년 전 · 597

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

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값이 리턴됩니다.

 

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

프로그램

+
제목 글쓴이 날짜 조회
9년 전 조회 722
9년 전 조회 839
9년 전 조회 618
9년 전 조회 659
9년 전 조회 679
9년 전 조회 803
9년 전 조회 647
9년 전 조회 780
9년 전 조회 561
9년 전 조회 636
9년 전 조회 508
9년 전 조회 701
9년 전 조회 596
9년 전 조회 605
9년 전 조회 657
9년 전 조회 606
9년 전 조회 615
9년 전 조회 600
9년 전 조회 962
9년 전 조회 1,009
9년 전 조회 977
9년 전 조회 949
9년 전 조회 716
9년 전 조회 873
9년 전 조회 1,007
9년 전 조회 711
9년 전 조회 988
9년 전 조회 946
9년 전 조회 1,370
9년 전 조회 980
9년 전 조회 1,153
9년 전 조회 810
10년 전 조회 953
10년 전 조회 687
10년 전 조회 686
10년 전 조회 805
10년 전 조회 766
10년 전 조회 961
10년 전 조회 667
10년 전 조회 734
10년 전 조회 725
10년 전 조회 624
10년 전 조회 723
10년 전 조회 573
10년 전 조회 625
10년 전 조회 557
10년 전 조회 658
10년 전 조회 634
10년 전 조회 1,087
10년 전 조회 598
10년 전 조회 517
10년 전 조회 791
10년 전 조회 625
10년 전 조회 590
10년 전 조회 570
10년 전 조회 538
10년 전 조회 485
10년 전 조회 459
10년 전 조회 535
10년 전 조회 552
10년 전 조회 507
10년 전 조회 450
10년 전 조회 533
10년 전 조회 530
10년 전 조회 515
10년 전 조회 589
10년 전 조회 592
10년 전 조회 476
10년 전 조회 514
10년 전 조회 580
10년 전 조회 517
10년 전 조회 604
10년 전 조회 542
10년 전 조회 490
10년 전 조회 448
10년 전 조회 496
10년 전 조회 478
10년 전 조회 485
10년 전 조회 515
10년 전 조회 451
10년 전 조회 498
10년 전 조회 456
10년 전 조회 562
10년 전 조회 659
10년 전 조회 618
10년 전 조회 576
10년 전 조회 497
10년 전 조회 601
10년 전 조회 501
10년 전 조회 533
10년 전 조회 488
10년 전 조회 466
10년 전 조회 461
10년 전 조회 494
10년 전 조회 565
10년 전 조회 517
10년 전 조회 602
10년 전 조회 499
10년 전 조회 534
10년 전 조회 503
🐛 버그신고