Funktsiya glob

Funktsiya glob fayl va kataloglarni berilgan andoza bo‘yicha qidiradi. Birinchi parametrda qidiruv andozasi bilan satr uzatiladi. Ikkinchi ixtiyoriy parametr funksiya xatti-harakatini o‘zgartirish uchun flaglarni belgilaydi.

Sintaksis

phpglob(pattern, [flags]);

Flaglar

Flag Ta'rif
GLOB_MARK Har bir qaytarilgan katalogga chiziqcha / qo‘shadi.
GLOB_NOSORT Fayllarni katalogda joylashgan tartibda qaytaradi (saralashsiz).
GLOB_NOCHECK Hech qanday moslik topilmasa, qidiruv andozasini qaytaradi.
GLOB_NOESCAPE Teskari chiziqchalar metasimvollarni ekranlamaydi.
GLOB_BRACE Bir nechta andozalar bo‘yicha qidirish uchun {a,b,c} ni yozadi.
GLOB_ONLYDIR Faqat andozaga mos keladigan kataloglarni qaytaradi.
GLOB_ERR O‘qish xatolarida to‘xtatadi (masalan, ruxsat yo‘q).

Misol

Joriy katalogda .txt kengaytmasi bo‘lgan barcha fayllarni topamiz:

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

Kodni bajarish natijasi:

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

Misol

'test' dan boshlanadigan va har qanday kengaytmaga ega bo‘lgan barcha fayllarni topamiz:

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

Kodni bajarish natijasi:

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

Misol

Bir nechta andozalar bo‘yicha qidirish uchun GLOB_BRACE flagidan foydalanish:

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

Kodni bajarish natijasi:

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

Misol

GLOB_RECURSE flagidan foydalangan holda ost-kataloglardagi fayllarni qidirish:

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

Kodni bajarish natijasi:

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

Shuningdek qarang

  • funktsiyani scandir,
    bu katalog tarkibini o‘qiydi
  • funktsiyani file_exists,
    bu fayl mavjudligini tekshiradi
  • funktsiyani is_file,
    bu faylni tekshiradi