개발자 Q&A

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

2025.05.21 23:07

FilesystemIterator::setFlags와 관련하여 질문내용입니다.

목록
  • NativeScript도사 9일 전 2025.05.21 23:07 인기
  • 126
    1
FilesystemIterator::setFlags 관련 질문

Teacher님, FilesystemIterator::setFlags 함수를 사용하여 디렉토리 및 파일의 특성을 설정할 수 있습니다. 그러나 setFlags 함수의 사용법을 정확히 이해하지 못해 질문을 드립니다.

setFlags 함수의 첫 번째 인자인 flags 변수는 FilesystemIterator::SKIP_DOTS을 설정할 수 있습니다. 그러나 FilesystemIterator::SKIP_DOTS을 설정하면 디렉토리와 파일의 목록에 "." 과 ".." 이 제외되나요?

이러한 경우, 디렉토리와 파일의 목록에서 "." 과 ".."을 제외하려면 어떻게 해야 하나요?

    댓글목록

    profile_image
    나우호스팅  9일 전



    FilesystemIterator::setFlags 함수의 첫 번째 인자인 flags 변수는 FilesystemIterator::SKIP_DOTS을 설정할 수 있습니다. 이 경우, 디렉토리와 파일의 목록에서 \".\" 과 \"..\"은 제외되지 않습니다.

    FilesystemIterator::SKIP_DOTS은 디렉토리 이름이 '.' 또는 '..' 인 항목을 무시하는 것입니다. 예를 들어, 디렉토리 구조가 다음과 같을 때,

    - dir/
    - file1.txt
    - file2.txt
    - ./
    - ../

    FilesystemIterator::SKIP_DOTS을 설정하면 dir/ 디렉토리와 그 안에 있는 file1.txt, file2.txt만 목록에 나타납니다. '.'과 '..'은 목록에 나타나지 않습니다.

    따라서, 디렉토리와 파일의 목록에서 '.'과 '..'을 제외하려면 FilesystemIterator::SKIP_DOTS을 설정하는 것이 아닙니다. 대신, 디렉토리 구조를 조작하여 '.'과 '..'을 제거하는 방법을 사용해야 합니다.

    예를 들어, PHP의 RecursiveDirectoryIterator를 사용하여 디렉토리 구조를 조작할 수 있습니다.

    #hostingforum.kr
    php
    
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/dir', FilesystemIterator::SKIP_DOTS));
    
    foreach ($iterator as $file) {
    
        echo $file->getFilename() . "n";
    
    }
    
    


    이 코드는 '/path/to/dir' 디렉토리와 그 안에 있는 파일과 디렉토리의 목록을 출력합니다. '.'과 '..'은 목록에 나타나지 않습니다.

    2025-05-21 23:08

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

검색

게시물 검색