PHP의 basename
함수
basename
함수는 주어진 파일 경로에서 파일의 이름 부분만 추출하는 PHP 내장 함수입니다. 파일 경로에서 디렉토리 경로를 제거하여 파일 이름만 반환합니다. 이 함수는 특히 파일 업로드 또는 경로 처리 작업에 유용하게 사용됩니다.
기본 문법:
string basename ( string $path [, string $suffix ] )
$path
: 파일 경로 또는 파일 이름을 나타내는 문자열.$suffix
(옵션): 제거할 접미사 문자열. 파일 이름이 해당 접미사로 끝나는 경우 이를 제거합니다.
샘플 코드:
$file_path = '/var/www/html/uploads/image.jpg';
$filename = basename($file_path);
echo $filename; // 출력 결과: image.jpg
basename
함수와 다른 함수와 사용하는 응용 코드
1. pathinfo
함수와 함께 사용:
pathinfo
함수를 사용하여 파일의 확장자를 추출할 수 있습니다.
$file_path = '/var/www/html/uploads/image.jpg';
$filename = basename($file_path);
$extension = pathinfo($file_path, PATHINFO_EXTENSION);
echo "Filename: $filename, Extension: $extension"; // 출력 결과: Filename: image.jpg, Extension: jpg
2. explode
함수와 함께 사용:
explode
함수를 사용하여 파일 경로를 디렉토리와 파일 이름으로 분리할 수 있습니다.
$file_path = '/var/www/html/uploads/image.jpg';
$path_parts = explode('/', $file_path);
$filename = end($path_parts);
echo $filename; // 출력 결과: image.jpg
조건문과 반복문과 함께 사용하는 샘플 코드
아래 예제는 디렉토리에 있는 파일들의 이름을 리스트로 출력합니다.
$directory = '/var/www/html/uploads/';
$files = scandir($directory);
foreach ($files as $file) {
if (!is_dir($file)) {
$filename = basename($file);
echo "$filename\n";
}
}
성능 향상을 위한 팁
basename
함수는 경로에서 파일 이름만 추출하는 단순한 함수이므로, 성능에 큰 영향을 주지 않습니다.- 성능을 향상시키려면, 파일 경로 처리에 더 많은 시간이 소요되는 다른 부분(예: 파일 I/O 작업)을 최적화하는 것이 중요합니다.