[php]dirname

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 함수는 경로에서 디렉토리 부분을 가져오는 단순한 함수이므로 성능에 큰 영향을 주지 않습니다.
  • 성능을 향상시키려면, 파일 처리 작업 전에 경로의 유효성을 확인하는 절차를 추가하여 잘못된 경로로 인한 오류를 방지하는 것이 중요합니다.

게시됨

카테고리

,

작성자