Hàm glob
Hàm glob tìm kiếm các tệp và thư mục phù hợp với mẫu đã cho.
Tham số đầu tiên được truyền vào một chuỗi chứa mẫu tìm kiếm.
Tham số thứ hai không bắt buộc xác định các cờ để thay đổi hành vi của hàm.
Cú pháp
glob(pattern, [flags]);
Các cờ
| Cờ | Mô tả |
|---|---|
GLOB_MARK |
Thêm dấu gạch chéo / vào mỗi thư mục được trả về. |
GLOB_NOSORT |
Trả về các tệp theo thứ tự chúng có trong thư mục (không sắp xếp). |
GLOB_NOCHECK |
Trả về mẫu tìm kiếm nếu không tìm thấy kết quả phù hợp nào. |
GLOB_NOESCAPE |
Dấu gạch chéo ngược không thoát các ký tự đại diện. |
GLOB_BRACE |
Mở rộng {a,b,c} để tìm kiếm theo nhiều mẫu. |
GLOB_ONLYDIR |
Chỉ trả về các thư mục phù hợp với mẫu. |
GLOB_ERR |
Dừng lại khi có lỗi đọc (ví dụ: không có quyền truy cập). |
Ví dụ
Tìm tất cả các tệp có phần mở rộng .txt trong thư mục hiện tại:
<?php
$res = glob('*.txt');
print_r($res);
?>
Kết quả thực thi mã:
['file1.txt', 'file2.txt', 'notes.txt']
Ví dụ
Tìm tất cả các tệp bắt đầu bằng 'test' với bất kỳ phần mở rộng nào:
<?php
$res = glob('test*');
print_r($res);
?>
Kết quả thực thi mã:
['test.php', 'test.txt', 'test_image.jpg']
Ví dụ
Sử dụng cờ GLOB_BRACE để tìm kiếm theo nhiều mẫu:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Kết quả thực thi mã:
['index.php', 'config.php', 'readme.txt']
Ví dụ
Tìm kiếm tệp trong các thư mục con bằng cách sử dụng cờ GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Kết quả thực thi mã:
['index.php', 'lib/utils.php', 'admin/index.php']
Xem thêm
-
hàm
scandir,
hàm đọc nội dung thư mục -
hàm
file_exists,
hàm kiểm tra sự tồn tại của tệp -
hàm
is_file,
hàm kiểm tra tệp