파일명에서 파일확장자만 추출하는 방법
이미지파일인지 문서파일인지 구분등을 하기위해서 mime 값을 가지고 하는 방법도 있지만 일반적으로는 파일의 확장자를 이용해서 비교를 많이 합니다.
이때 필요한 부분인데요. 간단한 방식의 파일 확장자만 얻어 내는 함수 입니다.
/**
* 파일 확장자
*
* @param string $file
*
* @return string
*
*/
function file_ext( string $file ) : string {
$aTemp = explode('.', trim($file));
$fileExt = array_pop($aTemp);
$fileExt = strtolower($fileExt); // 소문자로 변경
return $fileExt;
}
echo '파일확장자: ' . file_ext( 'test.jpg' ) . PHP_EOL;
exit;
원리는 스택을 생각해도 되는데요.
배열을 만든다음 마지막에 있는것을 빼오는 방식 입니다.
그리고 대소문자 문제가 있을 수 있으니 소문자로 변경해서 리턴을 해줍니다.
이 부분에 대해서는 파일을 저장할때 무조건 대문자이든 소문자로 저장을 하는 것이 관리할때 문제가 덜 생깁니다.
윈도우는 구분을 하지 않으나 리눅스에선 대소문자 구분을 하기 때문에 그렇습니다.
● 동일한 방식의 자바스크립트(nodeJS)는 아래를 참고하세요.
자바스크립트 파일 확장자 얻어내는 방법 > javascript