rewinddir
Fileinfo
Directory Functions
PHP Manual

# scandir

(PHP 5, PHP 7)

scandir — List files and directories inside the specified path

### Description

array scandir ( string `$directory` [, int `$sorting_order` = SCANDIR_SORT_ASCENDING [, resource `$context` ]] )

Returns an array of files and directories from the `directory`.

### Parameters

`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.

### Return Values

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.

### Changelog

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.

### Examples

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] => .
    )

### Notes

Tip

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.

### See Also

- opendir() - Open directory handle
- readdir() - Read entry from directory handle
- glob() - Find pathnames matching a pattern
- is_dir() - Tells whether the filename is a directory
- sort() - Sort an array

rewinddir
Fileinfo
Directory Functions
PHP Manual