glob
Find pathnames matching a pattern
Description
arrayfalse glob(string $pattern
, int $flags
= 0)
Parameters
-
pattern
-
The 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.
-
\
- Escapes the following character,
except when the GLOB_NOESCAPE
flag is used.
-
flags
-
Valid flags:
-
GLOB_BRACE
(int)
-
Expands {a,b,c} to match 'a', 'b', or 'c'
Note:
GLOB_BRACE
is not available on some non GNU systems,
like Solaris or Alpine Linux.
-
GLOB_ERR
(int)
-
Stop on read errors (like unreadable directories),
by default errors are ignored.
-
GLOB_ONLYDIR
(int)
-
Return only directory entries which match the pattern
-
GLOB_MARK
(int)
-
Adds a slash (a backslash on Windows) to each directory returned
-
GLOB_NOSORT
(int)
-
Return files as they appear in the directory (no sorting).
When this flag is not used, the pathnames are sorted alphabetically
-
GLOB_NOCHECK
(int)
-
Return the search pattern if no files matching it were found
-
GLOB_NOESCAPE
(int)
-
Backslashes do not quote metacharacters
-
GLOB_AVAILABLE_FLAGS
(int)
-
All
GLOB_*
flags combined.
Equivalent to 0
| GLOB_BRACE
|
GLOB_MARK
| GLOB_NOSORT
|
GLOB_NOCHECK
| GLOB_NOESCAPE
|
GLOB_ERR
| GLOB_ONLYDIR
Return Values
Returns an array containing the matched files/directories, an empty array
if no file matched or false
on error.
Note:
On some systems it is impossible to distinguish between empty match and an
error.
Examples
Example #1
Convenient way how glob can replace
opendir and friends.
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
The above example will output
something similar to:
funclist.txt size 44686
funcsummary.txt size 267625
quickref.txt size 137820
Notes
Note: This function will not work on
remote files as the file to
be examined must be accessible via the server's filesystem.
Note:
This function isn't available on some systems (e.g. old Sun OS).
See Also
- opendir
- readdir
- closedir
- fnmatch