Функсияи 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,
ки файлро тафтиш мекунад