Функция scandir

Функцията scandir връща масив, съдържащ имената на файлове и директории от указаната папка. Първият параметър на функцията приема път към директорията, а вторият (незадължителен) - ред на сортиране. По подразбиране сортирането се извършва в азбучен ред във възходящ ред.

Синтаксис

phpscandir(string $directory, int $sorting_order = SCANDIR_SORT_ASCENDING): array

Пример

Нека получим списък с файлове и папки в текущата директория:

php<?php
  $res = scandir('.');
  print_r($res);
?>

Резултат от изпълнението на кода:

php['.', '..', 'file1.txt', 'file2.txt', 'folder']

Пример

Нека получим списък с файлове в обратен ред:

php<?php
  $res = scandir('.', SCANDIR_SORT_DESCENDING);
  print_r($res);
?>

Резултат от изпълнението на кода:

php['folder', 'file2.txt', 'file1.txt', '..', '.']

Пример

Нека филтрираме служебните елементи '.' и '..' с помощта на функцията array_diff:

php<?php
  $res = array_diff(scandir('.'), ['.', '..']);
  print_r($res);
?>

Резултат от изпълнението на кода:

php['file1.txt', 'file2.txt', 'folder']

Вижте също

  • функцията glob,
    която търси файлове по шаблон
  • функцията is_dir,
    която проверява директория
  • функцията readdir,
    която чете съдържанието на директория