라이브러리

[PHP] RecursiveIteratorIterator::callGetChildren - 자식 가져오기




RecursiveIteratorIterator::callGetChildren()

RecursiveIteratorIterator는 RecursiveIterator를 상속받은 Iterator입니다. RecursiveIterator는 RecursiveDirectoryIterator, RecursiveFilesystemIterator, RecursiveRegexIterator, RecursiveCallbackIterator, RecursiveArrayIterator, RecursiveTreeIterator, RecursiveFilterIterator를 상속받을 수 있습니다.

RecursiveIteratorIterator::callGetChildren() 메서드는 RecursiveIterator의 getChildren() 메서드를 호출하여 자식 요소를 반환합니다.

예제


#hostingforum.kr
php

// RecursiveDirectoryIterator를 사용하여 디렉토리 내의 파일과 디렉토리를 읽어옵니다.

$iterator = new RecursiveDirectoryIterator('경로');

$recursiveIterator = new RecursiveIteratorIterator($iterator);



// RecursiveIteratorIterator::callGetChildren() 메서드를 사용하여 자식 요소를 반환합니다.

foreach ($recursiveIterator as $file) {

    if ($file->isDir()) {

        echo $file->getFilename() . " 디렉토리
";

        $children = $recursiveIterator->callGetChildren();

        foreach ($children as $child) {

            echo "  " . $child->getFilename() . "
";

        }

    } else {

        echo $file->getFilename() . " 파일
";

    }

}



예제 설명


1. `RecursiveDirectoryIterator`를 사용하여 디렉토리 내의 파일과 디렉토리를 읽어옵니다.
2. `RecursiveIteratorIterator`를 사용하여 디렉토리 내의 파일과 디렉토리를 반복 처리합니다.
3. `RecursiveIteratorIterator::callGetChildren()` 메서드를 사용하여 자식 요소를 반환합니다.
4. 반복 처리한 각 요소가 디렉토리인지 파일인지 확인하고, 디렉토리인 경우 자식 요소를 반환합니다.

예제 결과


#hostingforum.kr


경로 디렉토리

  자식 디렉토리

    자식1 파일

    자식2 파일

  자식 디렉토리

    자식3 파일

    자식4 파일



참고


* RecursiveIteratorIterator::callGetChildren() 메서드는 RecursiveIterator의 getChildren() 메서드를 호출하여 자식 요소를 반환합니다.
* RecursiveIteratorIterator는 RecursiveIterator를 상속받은 Iterator입니다.
* RecursiveIterator는 RecursiveDirectoryIterator, RecursiveFilesystemIterator, RecursiveRegexIterator, RecursiveCallbackIterator, RecursiveArrayIterator, RecursiveTreeIterator, RecursiveFilterIterator를 상속받을 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 295 페이지

검색

게시물 검색