파일 업로드시 항상 문제되는 건 확장자를 제대로 체크하고 있느냐 라고 생각합니다. 그래서 다음과 같이 코드를 짜봤습니다. 참고로 파일길이 255길이 이상이면 다른 의도를 가진 파일이라고 생각해야 할것 같네요.

 

<?php
/*
*************************   확장자 추출   *************************

 파일: test.php.gif -> gif

 파일: test . bmp.  . -> bmp

 파일: test.php . jpg-. -> jpg-

 파일: test....bmp....   .. .     .. -> bmp
*/
function extExtract($filename)
{
    if(
strlen($filename) > 255)
    {
        return false
;
    }

    
$basename trim(basename($filename));
    
$resource explode("."$basename);
    
$i count($resource)-1;
    
$resource[$i] = trim($resource[$i]);

    if(
$resource[$i] === "")
    {
        while(
$i 0)
        {
            
$i--;
            
$resource[$i] = trim($resource[$i]);
            if(
!empty($resource[$i]))
            {
                return 
strtolower($resource[$i]);
            }
        }
        return 
false;
    }
    elseif(
!empty($resource[$i]))
    {
        return 
strtolower($resource[$i]);
    }
    else
    {
        return 
false;
    }
}
?>

관련 글: http://habony.tistory.com/219

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요