scandir - Получает список файлов и каталогов, расположенных по указанному пути
Вернуться к: Функции для работы с каталогами
scandir
(PHP 5, PHP 7)
scandir — Получает список файлов и каталогов, расположенных по указанному пути
Описание
$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($dir, 1);
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).
Смотрите также
Вернуться к: Функции для работы с каталогами