scandir()
scandir() — List files and directories inside the specified path.
Built-in function of PHP 8.5. The manual lists it as available in PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
Signature
scandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING, ?resource $context = null): array|false
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $directory | string | The directory that will be scanned. |
| $sorting_order | int | 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 | ?resource | For a description of the context parameter, refer to the streams section of the manual. |
Return value
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.
Example
A runnable snippet:
$dir = '/tmp'; $files1 = scandir($dir); $files2 = scandir($dir, SCANDIR_SORT_DESCENDING); print_r($files1); print_r($files2);
Output:
Array ( [0] => . [1] => .. [2] => bar.php [3] => foo.txt [4] => somedir ) Array ( [0] => somedir [1] => foo.txt [2] => bar.php [3] => .. [4] => . )
Changelog
| Version | Change |
|---|---|
| 8.0.0 | context is now nullable. |
See also
opendir(), readdir(), glob(), is_dir(), sort()
All PHP 8.5 built-in functions
Reference card built from the PHP manual page scandir() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.