(PHP 5, PHP 7, PHP 8)
scandir — Получает список файлов и каталогов, расположенных по указанному пути
$directory, int $sorting_order = SCANDIR_SORT_ASCENDING, ?resource $context = null): array|false
Возвращает массив (array), содержащий имена файлов и каталогов,
расположенных по пути, переданном в параметре directory.
directoryСканируемый каталог.
sorting_order
По умолчанию сортировка производится в алфавитном порядке
по возрастанию. Если необязательный параметр
sorting_order установлен в значение
SCANDIR_SORT_DESCENDING, сортировка производится
в алфавитном порядке по убыванию. Если же он установлен в значение
SCANDIR_SORT_NONE, то сортировка не производится.
context
За описанием параметра context
обратитесь к разделу Потоки
данного руководства.
Возвращает массив (array) имён файлов в случае успешного выполнения или
false в случае возникновения ошибки. Если directory не
является каталогом, возвращается false и генерируется сообщение
об ошибке уровня E_WARNING.
| Версия | Описание |
|---|---|
| 8.0.0 |
context теперь допускает значение null.
|
Пример #1 Простой пример использования функции scandir()
<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, SCANDIR_SORT_DESCENDING);
print_r($files1);
print_r($files2);
?>Вывод приведённого примера будет похож на:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
Array
(
[0] => somedir
[1] => foo.txt
[2] => bar.php
[3] => ..
[4] => .
)
В эту функцию в качестве имени файла можно передавать URL-адреса, если была включена директива fopen wrappers. Подробнее о том, как указать имя файла, рассказано в описании функции fopen(). В разделе «Протоколы и обёртки» также даны ссылки на информацию о способностях поддерживаемых обёрток, замечания по работе с ними и список предопределённых переменных, которые они дают.