Funktionen glob

Funktionen glob söker efter filer och kataloger som matchar ett givet mönster. I den första parametern skickas en sträng med sökmönstret. Den andra valfria parametern anger flaggor för att ändra funktionens beteende.

Syntax

phpglob(pattern, [flags]);

Flaggor

Flagg Beskrivning
GLOB_MARK Lägger till ett snedstreck / till varje returnerad katalog.
GLOB_NOSORT Returnerar filer i den ordning de finns i katalogen (utan sortering).
GLOB_NOCHECK Returnerar sökmönstret om inga matchningar hittades.
GLOB_NOESCAPE Backslash escape-tecken inte metatecken.
GLOB_BRACE Expanderar {a,b,c} för sökning efter flera mönster.
GLOB_ONLYDIR Returnerar endast kataloger som matchar mönstret.
GLOB_ERR Stoppa vid läsfel (t.ex. saknad åtkomsträtt).

Exempel

Låt oss hitta alla filer med filtillägget .txt i aktuell katalog:

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

Resultat av kodkörning:

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

Exempel

Låt oss hitta alla filer som börjar med 'test' med valfritt filtillägg:

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

Resultat av kodkörning:

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

Exempel

Användning av flaggan GLOB_BRACE för sökning efter flera mönster:

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

Resultat av kodkörning:

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

Exempel

Sökning efter filer i underkataloger med flaggan GLOB_RECURSE:

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

Resultat av kodkörning:

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

Se även

  • funktionen scandir,
    som läser innehållet i en katalog
  • funktionen file_exists,
    som kontrollerar om en fil finns
  • funktionen is_file,
    som kontrollerar en fil