PHP.nl

glob

glob

Find pathnames matching a pattern

 **glob** string $pattern int $flags

The function searches for all the pathnames matching according to the rules used by the libc glob() function, which is similar to the rules used by common shells. glob``pattern

The behavior on Unix systems and macOS is determined by the system's implementation of glob(). On Windows, an implementation that conforms to the POSIX 1003.2 definition for glob() is used, and it includes an extension to handle the convention for negating a range. [!...]

patternThe pattern. No tilde expansion or parameter substitution is done.

   Special characters:
   
  - - Matches zero or more characters.          `*`
    • Matches exactly one character (any character). ?
    • Matches one character from a group of characters. If the first character is , matches any character not in the group. [...]``!
    • Matches one string from a group of strings delimited by a comma when the flag is used. {a,b,c}``GLOB_BRACE
    • Escapes the following character, except when the flag is used. \``GLOB_NOESCAPE

flags Any of the constants. GLOB_*

Returns an array containing the matched files/directories, an empty array if no file matched or false on error. Unless was used, the names will be sorted alphanumerically. GLOB_NOSORT

**Voorbeeld: Convenient way how can replace and friends. **

<?php
foreach (glob("*.txt") as $filename) {
    echo "$filename size " . filesize($filename) . "\n";
}
?>
funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820

**Voorbeeld: Example with a more complex pattern **

<?php
foreach (glob("path/*/*.{txt,md}", \GLOB_BRACE) as $filename) {
    echo "$filename\n";
}
?>
path/docs/mailinglist-rules.md
path/docs/README.md
path/docs/release-process.md
path/pear/install-pear.txt
path/Zend/README.md

Opmerking: > This function isn't available on some systems (e.g. old Sun OS).

opendir``readdir``closedir``fnmatch