PHP의 dirname
함수
dirname
함수는 PHP에서 파일 경로에서 디렉토리 부분만 추출하는 함수입니다. 이 함수를 사용하여 파일 경로에서 파일 이름을 제외한 디렉토리 부분만 가져올 수 있습니다.
기본 문법:
string dirname ( string $path )
$path
: 디렉토리 경로 또는 파일 경로를 나타내는 문자열.
샘플 코드:
$path = '/var/www/html/example/file.txt';
$directory = dirname($path);
echo "Directory: $directory"; // Output: Directory: /var/www/html/example
dirname
함수와 다른 함수와 사용하는 응용 코드
1. basename
함수와 함께 사용:
basename
함수를 사용하여 파일 경로에서 파일 이름만 추출한 다음, dirname
함수를 사용하여 디렉토리 경로를 얻을 수 있습니다.
$path = '/var/www/html/example/file.txt';
$filename = basename($path); // Get the filename: file.txt
$directory = dirname($path); // Get the directory path: /var/www/html/example
echo "Directory: $directory, Filename: $filename";
2. 반복문과 함께 사용:
여러 파일에 대해 dirname
함수를 한꺼번에 적용할 수 있습니다.
$files = ['/var/www/html/file1.txt', '/var/www/html/file2.txt', '/var/www/html/file3.txt'];
foreach ($files as $path) {
$directory = dirname($path);
echo "Directory: $directory\n";
}
조건문과 반복문과 함께 사용하는 샘플 코드
아래 예제는 디렉토리 내의 파일들을 카테고리별로 분류하는 코드입니다.
$directory = '/var/www/html/';
$files = scandir($directory);
$categories = [];
foreach ($files as $filename) {
$full_path = $directory . $filename;
if (is_file($full_path)) {
$category = dirname($full_path);
if (!isset($categories[$category])) {
$categories[$category] = [];
}
$categories[$category][] = $filename;
}
}
foreach ($categories as $category => $files) {
echo "Category: $category\n";
foreach ($files as $filename) {
echo "- $filename\n";
}
}
성능 향상을 위한 팁
dirname
함수는 경로에서 디렉토리 부분을 가져오는 단순한 함수이므로 성능에 큰 영향을 주지 않습니다.- 성능을 향상시키려면, 파일 처리 작업 전에 경로의 유효성을 확인하는 절차를 추가하여 잘못된 경로로 인한 오류를 방지하는 것이 중요합니다.