Функции для работы с каталогами
PHP Manual

scandir

(PHP 5, PHP 7)

scandirПолучает список файлов и каталогов, расположенных по указанному пути

Описание

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

Возвращает array, содержащий имена файлов и каталогов, расположенных по пути, переданном в параметре directory.

Список параметров

directory

Сканируемый каталог.

sorting_order

По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если необязательный параметр sorting_order установлен в значение SCANDIR_SORT_DESCENDING, сортировка производится в алфавитном порядке по убыванию. Если же он установлен в значение SCANDIR_SORT_NONE, то сортировка не производится.

context

За описанием параметра context обратитесь к разделу "Потоки" данного руководства.

Возвращаемые значения

Возвращает array имен файлов в случае успеха или FALSE в случае ошибки. Если directory не является каталогом, возвращается FALSE и генерируется сообщение об ошибке уровня E_WARNING.

Список изменений

Версия Описание
5.4.0 Были добавлены sorting_order константы. Любое ненулевое значение задавало сортировку по убыванию в предыдущих версиях. Поэтому для всех версий PHP нужно использовать 0 для сортировки по возрастанию и 1 для сортировки по убыванию. Опции для режима SCANDIR_SORT_NONE не существовало до PHP 5.4.0.

Примеры

Пример #1 Простой пример использования функции scandir()

<?php
$dir    
'/tmp';
$files1 scandir($dir);
$files2 scandir($dir1);

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

Пример #2 Альтернативный вариант функции scandir() для PHP 4

<?php
$dir 
"/tmp";
$dh  opendir($dir);
while (
false !== ($filename readdir($dh))) {
    
$files[] = $filename;
}

sort($files);

print_r($files);

rsort($files);

print_r($files);

?>

Результатом выполнения данного примера будет что-то подобное:

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(). Смотрите также список поддерживаемых оберток URL, их возможности, замечания по использованию и список предопределенных констант в Поддерживаемые протоколы и обработчики (wrappers).

Смотрите также


Функции для работы с каталогами
PHP Manual