(PHP 5)
scandir — List files and directories inside the specified path
$directory
[, int $sorting_order = SCANDIR_SORT_ASCENDING
[, resource $context
]] )
Returns an array of files and directories from the
directory.
directory
The directory that will be scanned.
sorting_order
By default, the sorted order is alphabetical in ascending order. If
the optional sorting_order is set to
SCANDIR_SORT_DESCENDING, then the sort order is
alphabetical in descending order. If it is set to
SCANDIR_SORT_NONE then the result is unsorted.
context
For a description of the context parameter,
refer to the streams section of
the manual.
Returns an array of filenames on success, or FALSE on
failure. If directory is not a directory, then
boolean FALSE is returned, and an error of level
E_WARNING is generated.
| Version | Description |
|---|---|
| 5.4.0 |
sorting_order constants
were added. Any nonzero value caused descending order in previous versions. So
for all PHP versions, use 0 for ascending order, and 1
for descending order. An option for SCANDIR_SORT_NONE behavior did not
exist prior to PHP 5.4.0.
|
Example #1 A simple scandir() example
<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, 1);
print_r($files1);
print_r($files2);
?>
The above example will output something similar to:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
Example #2 PHP 4 alternatives to scandir()
<?php
$dir = "/tmp";
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$files[] = $filename;
}
sort($files);
print_r($files);
rsort($files);
print_r($files);
?>
The above example will output something similar to:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
A URL can be used as a filename with this function if the fopen wrappers have been enabled. See fopen() for more details on how to specify the filename. See the Supported Protocols and Wrappers for links to information about what abilities the various wrappers have, notes on their usage, and information on any predefined variables they may provide.