개발자 Q&A

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

2025.03.03 17:04

FilesystemIterator::next 메서드 사용 시 오류 발생

  • C++장인 12일 전 2025.03.03 17:04
  • 10
    1
제가 공부하고 있는 PHP에서 FilesystemIterator::next 메서드를 사용하려고 합니다.
하지만 제 코드에서 오류가 발생하고 이해하기 어려운 부분이 있습니다.
FilesystemIterator::next 메서드를 사용하여 다음 파일을 읽어올 때,
어떤 조건이 있어야 다음 파일을 읽어올 수 있는지 알려주세요.
또한, FilesystemIterator::next 메서드를 사용하여 읽어온 파일을 삭제하는 방법은 어떤지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  12일 전



    FilesystemIterator::next 메서드를 사용하려면, Iterator 인스턴스를 생성한 후, rewind 메서드를 호출하여 Iterator의 포인터를 파일 시스템의 시작 위치로 이동해야 합니다.

    #hostingforum.kr
    php
    
    $iterator = new FilesystemIterator('/path/to/directory');
    
    $iterator->rewind();
    
    


    이후, next 메서드를 호출하여 다음 파일을 읽어올 수 있습니다.

    #hostingforum.kr
    php
    
    if ($iterator->valid()) {
    
        echo $iterator->current()->getPathname() . "n";
    
        $iterator->next();
    
    }
    
    


    FilesystemIterator::next 메서드를 사용하여 읽어온 파일을 삭제하는 방법은, Iterator 인스턴스에서 current 메서드를 호출하여 현재 파일의 경로를 얻은 후, unlink 함수를 사용하여 파일을 삭제하는 것입니다.

    #hostingforum.kr
    php
    
    if ($iterator->valid()) {
    
        $filePath = $iterator->current()->getPathname();
    
        unlink($filePath);
    
        $iterator->next();
    
    }
    
    


    또한, Iterator 인스턴스에서 remove 메서드를 호출하여 현재 파일을 삭제할 수도 있습니다.

    #hostingforum.kr
    php
    
    if ($iterator->valid()) {
    
        $iterator->remove();
    
        $iterator->next();
    
    }
    
    


    이러한 방법을 사용하여 FilesystemIterator::next 메서드를 사용하여 읽어온 파일을 삭제할 수 있습니다.

    2025-03-03 17:05

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

검색

게시물 검색