Функция PHP readdir

string readdir ( resource dir_handle )

Возвращает имя следующего по порядку элемента каталога. Имена элементов возвращаются в порядке, зависящем от файловой системы.

Обратите внимание на способ проверки значения, возвращаемого функцией readdir() в приведенном ниже примере. В этом примере осуществляется проверка значения на идентичность (выражения идентичны, когда они равны и являются значениями одного типа - за более подробной информацией обратитесь к главе Операторы сравнения) значению FALSE, поскольку в ином случае, любой элемент каталога, чье имя может быть выражено как FALSE, остановит цикл (например, элемент с именем "0").

Вывести список всех файлов в каталоге

<?php
   // Обратите внимание, что оператор !== не существовал до версии 4.0.0-RC2 
   if ($handle = opendir('/path/to/files')) {
      echo "Дескриптор каталога: $handle ";
      echo "Файлы: ";
      /* Именно этот способ чтения элементов каталога является правильным. */
     while (false !== ($file = readdir($handle))) { 
        echo "$file ";
     }

     /* Этот способ НЕВЕРЕН. */
     while ($file = readdir($handle)) { 
       echo "$file ";
     }
     closedir($handle); 
   }
?>

Обратите внимание, что функция readdir() также возвращает элементы с именами . и ... Если вы не хотите получать эти значения, просто отбрасывайте их:

Получить список файлов в текущем каталоге и отбросить элементы с именами . и ..

<?php 
    if ($handle = opendir('.')) {
       while (false !== ($file = readdir($handle))) { 
          if ($file != "." && $file != "..") { 
             echo "$file "; 
          } 
       }
       closedir($handle); 
   }
?>

См.также описания функций is_dir() и glob().