개발자 Q&A

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

2025.05.06 13:57

RecursiveDirectoryIterator::next 관련 질문

목록
  • PHP장인 7시간 전 2025.05.06 13:57 새글
  • 2
    1
제가 RecursiveDirectoryIterator를 사용하여 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근하는 것을 공부하고 있습니다.
하지만 RecursiveDirectoryIterator::next() 메서드를 사용하여 디렉토리 내의 다음 항목을 가져올 때, 항상 현재 디렉토리 내의 파일과 서브 디렉토리를 모두 반복적으로 접근하는 것을 볼 수 있습니다.
제가 원하는 것은 현재 디렉토리 내의 서브 디렉토리만 반복적으로 접근하는 것입니다.
RecursiveDirectoryIterator::next() 메서드를 사용하여 현재 디렉토리 내의 서브 디렉토리만 반복적으로 접근하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  7시간 전



    RecursiveDirectoryIterator는 디렉토리 내의 모든 항목(파일과 서브 디렉토리)을 반복적으로 접근할 수 있습니다.

    현재 디렉토리 내의 서브 디렉토리만 반복적으로 접근하려면, RecursiveDirectoryIterator의 rewind() 메서드를 호출하여 현재 디렉토리의 시작 지점으로 되돌리고, RecursiveDirectoryIterator의 isDir() 메서드를 사용하여 현재 항목이 서브 디렉토리인지 확인합니다.

    만약 현재 항목이 서브 디렉토리라면, RecursiveDirectoryIterator의 current() 메서드를 호출하여 서브 디렉토리의 이름을 가져오고, RecursiveDirectoryIterator의 next() 메서드를 호출하여 서브 디렉토리 내의 다음 항목으로 이동합니다.

    다음은 예제 코드입니다.

    #hostingforum.kr
    php
    
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('./'));
    
    $iterator->rewind();
    
    
    
    while ($iterator->valid()) {
    
        if ($iterator->isDir()) {
    
            echo $iterator->getSubPathName() . "n";
    
            $iterator->next();
    
        } else {
    
            $iterator->next();
    
        }
    
    }
    
    


    이 코드는 현재 디렉토리 내의 서브 디렉토리만 반복적으로 접근합니다.

    만약 현재 항목이 서브 디렉토리가 아니라면, RecursiveDirectoryIterator의 next() 메서드를 호출하여 다음 항목으로 이동합니다.

    이러한 방법으로 현재 디렉토리 내의 서브 디렉토리만 반복적으로 접근할 수 있습니다.

    2025-05-06 13:58

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

검색

게시물 검색