|
Последние активные темы форума |
|
readdir
(PHP 3, PHP 4 , PHP 5) readdir -- Получить элемент каталога по его дескриптору
Описаниеstring readdir ( resource dir_handle ) Возвращает имя следующего по порядку элемента каталога. Имена
элементов возвращаются в порядке, зависящем от файловой
системы.
Обратите внимание на способ проверки значения, возвращаемого
функцией readdir() в приведенном ниже
примере. В этом примере осуществляется проверка значения
на идентичность (выражения идентичны, когда они равны и являются
значениями одного типа - за более подробной информацией
обратитесь к главе Операторы сравнения) значению FALSE, поскольку
в ином случае, любой элемент каталога, чье имя может быть
выражено как FALSE, остановит цикл (например, элемент с
именем "0").
Пример 1. Вывести список всех файлов в каталоге
<?php
// Обратите внимание, что оператор !== не существовал до версии 4.0.0-RC2
if (
$handle
=
opendir
(
'/path/to/files'
)) {
echo
"Дескриптор каталога: $handle
\n
"
;
echo
"Файлы:\n"
;
/* Именно этот способ чтения элементов каталога является правильным. */
while (
false
!== (
$file
=
readdir
(
$handle
))) {
echo
"$file
\n
"
;
}
/* Этот способ НЕВЕРЕН. */
while (
$file
=
readdir
(
$handle
)) {
echo
"$file
\n
"
;
}
closedir
(
$handle
);
}
?>
|
|
Обратите внимание, что функция readdir() также возвращает
элементы с именами . и ...
Если вы не хотите получать эти значения, просто отбрасывайте их:
Пример 2.
Получить список файлов в текущем каталоге и отбросить элементы
с именами . и ..
<?php
if (
$handle
=
opendir
(
'.'
)) {
while (
false
!== (
$file
=
readdir
(
$handle
))) {
if (
$file
!=
"."
&&
$file
!=
".."
) {
echo
"$file
\n
"
;
}
}
closedir
(
$handle
);
}
?>
|
|
См.также описания функций is_dir() и
glob().
|