라이브러리

[PHP] RecursiveDirectoryIterator::__construct - RecursiveDirectoryIterator를 구성합니다.




RecursiveDirectoryIterator::__construct

`RecursiveDirectoryIterator`는 PHP의 SPL(Serializable, Recursive, Iterator) 모듈에서 제공하는 클래스로, 디렉토리 내의 모든 파일과 서브 디렉토리를 반복적으로 접근할 수 있는 이터레이터를 제공합니다. `RecursiveDirectoryIterator` 클래스의 생성자 `__construct` 메서드는 디렉토리 경로를 지정하여 이터레이터를 초기화합니다.

생성자 옵션


`RecursiveDirectoryIterator`의 생성자는 다음과 같은 옵션을 제공합니다.

* `path`: 디렉토리 경로를 지정합니다. 디렉토리가 존재하지 않으면 예외가 발생합니다.
* `flags`: 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근할 때 사용할 플래그를 지정합니다. 가능한 플래그는 다음과 같습니다.
* `RecursiveDirectoryIterator::SKIP_DOTS`: 디렉토리 내의 '.' 및 '..' 파일을 무시합니다.
* `RecursiveDirectoryIterator::SELF_READABLE`: 디렉토리가 읽기 전용이면 예외가 발생합니다.
* `RecursiveDirectoryIterator::UNIX_PATHS`: 디렉토리 경로를 UNIX 스타일로 변환합니다.
* `context`: 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근할 때 사용할 리소스를 지정합니다.

예제


다음 예제는 `RecursiveDirectoryIterator`를 사용하여 디렉토리 내의 모든 파일과 서브 디렉토리를 반복적으로 접근하는 방법을 보여줍니다.

#hostingforum.kr
php

// 디렉토리 경로를 지정합니다.

$path = '/var/www/html';



// 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근할 때 사용할 플래그를 지정합니다.

$flags = RecursiveDirectoryIterator::SKIP_DOTS;



// 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근할 때 사용할 리소스를 지정합니다.

$context = null;



// RecursiveDirectoryIterator를 초기화합니다.

$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, $flags), RecursiveIteratorIterator::SELF_FIRST);



// 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근합니다.

foreach ($iterator as $file) {

    // 파일이 디렉토리인지 파일인지 확인합니다.

    if ($file->isDir()) {

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

    } else {

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

    }

}



이 예제에서는 `RecursiveDirectoryIterator`를 사용하여 `/var/www/html` 디렉토리 내의 모든 파일과 서브 디렉토리를 반복적으로 접근합니다. `RecursiveIteratorIterator`를 사용하여 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근할 때, 서브 디렉토리 내의 파일과 서브 디렉토리를 반복적으로 접근할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색