Glob функциясы

glob функциясы файлдар мен директорияларды берілген үлгіге сәйкес келетіндерін іздейді. Бірінші параметр ретінде іздеу үлгісі бар жол беріледі. Екінші қосымша параметр функцияның мінез-құлқын өзгерту үшін флагтарды белгілейді.

Синтаксис

phpglob(pattern, [flags]);

Флагтар

Флаг Сипаттама
GLOB_MARK Әрбір қайтарылған директорияға көлбеу сызықшы / қосады.
GLOB_NOSORT Файлдарды директориядағы тәртіпте (сұрыптаусыз) қайтарады.
GLOB_NOCHECK Ешбір сәйкестік табылмаса, іздеу үлгісін қайтарады.
GLOB_NOESCAPE Кері көлбеу сызықшалар метасимволдарды экрандамайды.
GLOB_BRACE Бірнеше үлгі бойынша іздеу үшін {a,b,c} жазбасын кеңейтеді.
GLOB_ONLYDIR Үлгіге сәйкес келетін тек директорияларды қайтарады.
GLOB_ERR Оқу қателерінде тоқтату (мысалы, рұқсат жоқ).

Мысал

Ағымдағы директорияда .txt кеңейтімді бар барлық файлдарды табайық:

php<?php
  $res = glob('*.txt');
  print_r($res);
?>

Кодты орындау нәтижесі:

php['file1.txt', 'file2.txt', 'notes.txt']

Мысал

'test' дегеннен басталатын кез келген кеңейтімді бар барлық файлдарды табайық:

php<?php
  $res = glob('test*');
  print_r($res);
?>

Кодты орындау нәтижесі:

php['test.php', 'test.txt', 'test_image.jpg']

Мысал

Бірнеше үлгі бойынша іздеу үшін GLOB_BRACE флагын қолдану:

php<?php
  $res = glob('*.{php,txt}', GLOB_BRACE);
  print_r($res);
?>

Кодты орындау нәтижесі:

php['index.php', 'config.php', 'readme.txt']

Мысал

GLOB_RECURSE флагын қолданып ішкі директориялардағы файлдарды іздеу:

php<?php
  $res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
  print_r($res);
?>

Кодты орындау нәтижесі:

php['index.php', 'lib/utils.php', 'admin/index.php']

Сондай-ақ қараңыз

  • scandir функциясы,
    ол директория мазмұнын оқиды
  • file_exists функциясы,
    ол файлдың бар екенін тексереді
  • is_file функциясы,
    ол файлды тексереді