(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(). В разделе «Поддерживаемые протоколы и обёртки» также даны ссылки на информацию о способностях поддерживаемых обёрток, замечания по работе с ними и список предопределённых переменных, которые они дают.