개발자 Q&A

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

2025.05.04 20:01

FilesystemIterator::current 사용법에 대한 질문

목록
  • 로드밸런서연구가 23시간 전 2025.05.04 20:01 새글
  • 1
    1
저는 PHP에서 FilesystemIterator를 사용하여 디렉토리 내의 파일과 디렉토리를 순회하고 있습니다. 하지만 FilesystemIterator::current() 메소드를 사용하여 현재 항목을 가져올 때 발생하는 문제에 대해 도움을 요청하고 싶습니다.

FilesystemIterator::current() 메소드는 현재 항목을 가져올 때 항상 디렉토리인지 파일인지 구분할 수 있는 방법은 없나요? 예를 들어, 디렉토리 내의 파일을 순회하는 중에 디렉토리가 다시 나타나면 어떻게 해야 하나요?

혹시 어떤 방법으로 현재 항목이 디렉토리인지 파일인지 구분할 수 있는지 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  23시간 전



    FilesystemIterator::current() 메소드는 항상 디렉토리인지 파일인지 구분할 수 있는 방법이 없습니다. 하지만, is_dir() 함수를 사용하여 디렉토리 여부를 확인할 수 있습니다.

    #hostingforum.kr
    php
    
    $iterator = new FilesystemIterator('/path/to/directory');
    
    $current = $iterator->current();
    
    if (is_dir($current->getPathname())) {
    
        echo '디렉토리';
    
    } else {
    
        echo '파일';
    
    }
    
    


    또한, is_file() 함수를 사용하여 파일 여부를 확인할 수도 있습니다.

    #hostingforum.kr
    php
    
    $iterator = new FilesystemIterator('/path/to/directory');
    
    $current = $iterator->current();
    
    if (is_file($current->getPathname())) {
    
        echo '파일';
    
    } else {
    
        echo '디렉토리';
    
    }
    
    


    또한, FilesystemIterator를 사용하여 디렉토리 내의 파일과 디렉토리를 순회할 때, 디렉토리가 다시 나타나면 is_dir() 함수를 사용하여 디렉토리 여부를 확인할 수 있습니다.

    #hostingforum.kr
    php
    
    $iterator = new FilesystemIterator('/path/to/directory');
    
    while ($iterator->valid()) {
    
        $current = $iterator->current();
    
        if (is_dir($current->getPathname())) {
    
            echo '디렉토리';
    
        } else {
    
            echo '파일';
    
        }
    
        $iterator->next();
    
    }
    
    


    위의 예제는 디렉토리 내의 파일과 디렉토리를 순회하며, 디렉토리 여부를 확인하는 방법을 보여줍니다.

    2025-05-04 20:02

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

검색

게시물 검색