glob 함수
glob 함수는 주어진 패턴에 맞는 파일과 디렉터리를 검색합니다.
첫 번째 매개변수로 검색 패턴 문자열이 전달됩니다.
두 번째 선택적 매개변수는 함수의 동작을 변경하는 플래그를 지정합니다.
문법
glob(pattern, [flags]);
플래그
| 플래그 | 설명 |
|---|---|
GLOB_MARK |
반환된 각 디렉터리에 슬래시 /를 추가합니다. |
GLOB_NOSORT |
디렉터리에 있는 순서 그대로 파일을 반환합니다(정렬 없음). |
GLOB_NOCHECK |
일치하는 항목이 하나도 없으면 검색 패턴을 반환합니다. |
GLOB_NOESCAPE |
백슬래시가 메타문자를 이스케이프하지 않습니다. |
GLOB_BRACE |
여러 패턴 검색을 위해 {a,b,c}를 확장합니다. |
GLOB_ONLYDIR |
패턴에 맞는 디렉터리만 반환합니다. |
GLOB_ERR |
읽기 오류 시 중단합니다(예: 권한 없음). |
예제
현재 디렉터리에서 .txt 확장자를 가진 모든 파일 찾기:
<?php
$res = glob('*.txt');
print_r($res);
?>
코드 실행 결과:
['file1.txt', 'file2.txt', 'notes.txt']
예제
'test'로 시작하는 모든 확장자의 파일 찾기:
<?php
$res = glob('test*');
print_r($res);
?>
코드 실행 결과:
['test.php', 'test.txt', 'test_image.jpg']
예제
여러 패턴 검색을 위해 GLOB_BRACE 플래그 사용:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
코드 실행 결과:
['index.php', 'config.php', 'readme.txt']
예제
GLOB_RECURSE 플래그를 사용하여 하위 디렉터리에서 파일 검색:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
코드 실행 결과:
['index.php', 'lib/utils.php', 'admin/index.php']
함께 보기
-
디렉터리 내용을 읽는 함수
scandir, -
파일 존재 여부를 확인하는 함수
file_exists, -
파일을 확인하는 함수
is_file,