Функция PHP scandir

array scandir ( string directory [, integer sorting_order] )

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

По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если указан необязательный параметр sorting_order (равен 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] => .
)
   */
?>

Альтернативный вариант функции 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] => .
)
   */
?>

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