PHP에서 파일 확장자를 추출하는 5가지 방법
페이지 정보

본문
PHP에서 파일 확장자를 추출하는 5가지 방법
그누보드 기능을 적용하거나 파일을 다루는 개발 과정에서 파일명에서 확장자만 깔끔하게 추출해야 할 때 유용한 PHP 코드 작성법과 함수별 차이를 확인합니다.
PHP 파일 확장자 추출 방법
PHP 환경에서 파일명으로부터 확장자만 깔끔하게 추출하는 대표적인 5가지 방법입니다.
1. pathinfo 함수 사용하기
가장 표준적이고 직관적인 방법입니다. pathinfo() 함수를 사용해 파일 정보 배열을 얻은 뒤 확장자 요소를 가져올 수 있습니다.
<?php
$filename = "mypage.html";
// 방법 A: 전체 배열에서 추출
$fileinfo = pathinfo($filename);
$ext = $fileinfo['extension'];
// 방법 B: 직접 지정해서 추출
$ext = pathinfo($filename, PATHINFO_EXTENSION);
?>
2. strrchr 함수 사용하기
문자열에서 마지막으로 나타나는 특정 문자(.)의 위치부터 끝까지 자른 뒤, substr()을 이용해 점(.)을 제외한 확장자만 추출합니다.
<?php
$filename = "mypage.html";
$ext = substr(strrchr($filename, '.'), 1);
?>
3. strrpos와 substr 함수 조합하기
마지막 점(.)의 위치를 찾고, 해당 위치 다음 글자부터 끝까지 잘라냅니다.
<?php
$filename = "mypage.html";
$ext = substr($filename, strrpos($filename, '.') + 1);
?>
4. explode와 end 함수 조합하기
점(.)을 기준으로 문자열을 배열로 쪼갠 뒤, 배열의 마지막 요소(end)를 가져옵니다.
$ext = end(explode('.', $filename));
5. preg_replace 함수와 정규식 사용하기
정규식을 대입하여 확장자 부분만 남기고 치환합니다.
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);
strrchr 함수와 substr 함수를 조합하여 확장자 구하기
PHP에서 문자열 함수를 조합하여 파일 이름의 마지막 점(.) 위치를 기준으로 확장자만 깔끔하게 추출할 수 있습니다.
소스 코드 예시
<?php
$filename = "mypage.html";
// strrchr 함수를 사용해서 확장자 구하기
$ext = substr(strrchr($filename, '.'), 1);
echo $ext;
?>
동작 방식
strrchr($filename, '.'): 파일명에서 마지막에 등장하는.문자를 찾아 그 위치부터 문자열 끝까지(.포함) 반환합니다 (.html).substr(..., 1): 반환된 문자열의 첫 번째 글자(.을 의미)를 제외하고 두 번째 글자부터 끝까지 잘라내어 순수 확장자(html)만 추출합니다.
explode 함수와 end 함수를 이용한 파일 확장자 분리
PHP에서 파일명 문자열을 점(.)을 기준으로 쪼갠 뒤 마지막 요소를 가져와 파일 확장자를 추출할 수 있습니다. 배열 분할 방식을 사용할 때 아래 코드를 적용할 수 있습니다.
$filename = "mypage.html";
$ext = end(explode('.', $filename));
echo $ext;
explode('.', $filename)은 파일명을 점(.) 단위로 나누어 배열로 반환하며, end() 함수는 해당 배열의 마지막 요소(즉, 파일 확장자)를 가져옵니다.
참고자료
기타 참고자료
- 이전글PHP mktime 함수 2038년 문제의 원인과 대응 방안 26.10.15
- 다음글그누보드 스킨 내 관리자 및 게시판 예외 처리 조건문 활용 26.10.13
댓글목록
등록된 댓글이 없습니다.