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)에서는 사용할 수 없습니다.
기타
- opendir() - 디렉토리 핸들 열기
- readdir() - 디렉토리 핸들에서 항목 읽기
- closedir() - 디렉토리 핸들 닫기
- fnmatch() - 패턴에 대해 파일 이름 일치