개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.12 05:03

DirectoryIterator::getFilename() 관련 질문

  • Unity마법사 5일 전 2025.03.12 05:03
  • 5
    1
제가 현재 PHP의 DirectoryIterator 클래스를 공부 중인데, getFilename() 메소드에 대한 이해가 부족하다는 점이 있습니다.

DirectoryIterator 클래스를 사용하여 디렉토리 내의 파일을 순회하는 경우, getFilename() 메소드를 사용하여 파일 이름을 얻을 수 있습니다. 하지만, 디렉토리 내의 하위 디렉토리도 함께 순회할 때, getFilename() 메소드는 디렉토리 이름을 반환하는 것 같습니다.

예를 들어, 다음과 같은 디렉토리 구조가 있다고 가정해 보겠습니다.

- /test
- file1.txt
- dir1
- file2.txt
- dir2
- file3.txt

이 경우, 디렉토리 내의 파일을 순회하는 경우, getFilename() 메소드는 디렉토리 이름(dir1, dir2)을 반환하는 것 같습니다.

getFilename() 메소드는 디렉토리 이름을 반환하는 것이 맞는 것인지, 아니면 디렉토리도 포함하여 파일 이름을 반환하는 것이 맞는 것인지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  5일 전



    DirectoryIterator::getFilename() 메소드는 디렉토리 내의 파일 이름을 반환합니다. 디렉토리 이름은 getFilename() 메소드의 결과로 반환되지 않습니다.

    디렉토리 내의 하위 디렉토리도 함께 순회할 때, getFilename() 메소드는 디렉토리 이름을 반환하는 것처럼 보이지만, 실제로는 디렉토리 내의 파일 이름이 반환되지 않고, 디렉토리 이름이 반환됩니다.

    이러한 현상을 이해하기 위해서는 DirectoryIterator 클래스의 getNext() 메소드를 사용하여 디렉토리 내의 파일을 순회하는 방식에 대한 이해가 필요합니다. getNext() 메소드는 디렉토리 내의 다음 항목을 반환합니다.

    디렉토리 내의 파일을 순회하는 경우, getNext() 메소드는 파일 이름을 반환합니다. 디렉토리 내의 하위 디렉토리도 함께 순회할 때, getNext() 메소드는 디렉토리 이름을 반환합니다.

    따라서, 디렉토리 내의 파일 이름을 얻기 위해서는 getNext() 메소드를 사용하여 디렉토리 내의 항목을 순회한 후, getFilename() 메소드를 사용하여 항목의 이름을 얻는 것이 좋습니다.

    예를 들어, 다음과 같은 디렉토리 구조가 있다고 가정해 보겠습니다.

    - /test
    - file1.txt
    - dir1
    - file2.txt
    - dir2
    - file3.txt

    디렉토리 내의 파일을 순회하는 경우, getNext() 메소드를 사용하여 디렉토리 내의 항목을 순회한 후, getFilename() 메소드를 사용하여 항목의 이름을 얻는 예제 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $iterator = new DirectoryIterator('/test');
    
    while ($file = $iterator->next()) {
    
        echo $file->getFilename() . "n";
    
    }
    
    


    이 예제 코드는 디렉토리 내의 파일 이름을 순회하여 출력합니다. 디렉토리 이름은 출력되지 않습니다.

    따라서, getFilename() 메소드는 디렉토리 이름을 반환하는 것이 아니며, 디렉토리 내의 파일 이름을 반환합니다. 디렉토리 이름은 getNext() 메소드를 사용하여 디렉토리 내의 항목을 순회한 후, getFilename() 메소드를 사용하여 항목의 이름을 얻는 방식으로 얻을 수 있습니다.

    2025-03-12 05:04

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,126건 / 91 페이지

검색

게시물 검색