glob 함수

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

glob — 패턴과 일치하는 경로 이름 찾기


설명

glob(string $pattern, int $flags = 0): array|false

glob() 함수는 libc glob() 함수가 사용하는 규칙에 따라 pattern과 일치하는 모든 경로 이름을 검색합니다. 이는 일반적인 쉘에서 사용하는 규칙과 유사합니다.


매개변수

pattern
패턴. 물결표 확장 또는 매개변수 대체가 수행되지 않습니다.

특수 문자:

  • * - 0개 이상의 문자와 일치합니다.
  • ? - 정확히 하나의 문자(모든 문자)와 일치합니다.
  • [...] - 문자 그룹에서 하나의 문자와 일치합니다. 첫 번째 문자가 !인 경우 그룹에 없는 모든 문자와 일치합니다.
  • \ - GLOB_NOESCAPE 플래그가 사용되는 경우를 제외하고 다음 문자를 이스케이프합니다.
flags
유효한 플래그:
  • GLOB_MARK - 반환된 각 디렉토리에 슬래시(Windows의 경우 백슬래시)를 추가합니다.
  • GLOB_NOSORT - 디렉토리에 나타나는 대로 파일을 반환합니다(정렬 없음). 이 플래그를 사용하지 않으면 경로 이름이 알파벳순으로 정렬됩니다.
  • GLOB_NOCHECK - 일치하는 파일이 없으면 검색 패턴을 반환합니다.
  • GLOB_NOESCAPE - 백슬래시는 메타 문자를 인용하지 않습니다.
  • GLOB_BRACE - 'a', 'b' 또는 'c'와 일치하도록 {a,b,c}를 확장합니다.
  • GLOB_ONLYDIR - 패턴과 일치하는 디렉토리 항목만 반환
  • GLOB_ERR - 읽을 수 없는 디렉토리와 같은 읽기 오류 시 중지, 기본적으로 오류는 무시됩니다.

참고: GLOB_BRACE 플래그는 Solaris 또는 Alpine Linux와 같은 일부 비 GNU 시스템에서 사용할 수 없습니다.


반환 값

일치하는 파일/디렉토리를 포함하는 배열을 반환하고 일치하는 파일이 없으면 빈 배열을 반환하고 오류가 발생하면 false를 반환합니다.

메모: 일부 시스템에서는 빈 일치와 오류를 구별하는 것이 불가능합니다.


Examples

예제 #1 glob()이 opendir() 및 친구를 대체할 수 있는 편리한 방법.

                  
<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename size " . filesize($filename) . "\n";
}
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820
                

노트

메모: 이 함수는 검사할 파일이 서버의 파일 시스템을 통해 액세스할 수 있어야 하므로 원격 파일에서는 작동하지 않습니다.

메모: 이 함수는 일부 시스템(예: 이전 Sun OS)에서는 사용할 수 없습니다.


기타