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