Funkcja scandir

Funkcja scandir zwraca tablicę zawierającą nazwy plików i katalogów z określonego folderu. Jako pierwszy parametr funkcja przyjmuje ścieżkę do katalogu, a jako drugi (opcjonalny) - porządek sortowania. Domyślnie sortowanie jest wykonywane w porządku alfabetycznym rosnąco.

Składnia

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

Przykład

Pobierzmy listę plików i folderów w bieżącym katalogu:

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

Wynik wykonania kodu:

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

Przykład

Pobierzmy listę plików w porządku odwrotnym:

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

Wynik wykonania kodu:

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

Przykład

Odfiltrujmy elementy serwisowe '.' i '..' za pomocą funkcji array_diff:

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

Wynik wykonania kodu:

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

Zobacz też

  • funkcję glob,
    która wyszukuje pliki według wzorca
  • funkcję is_dir,
    która sprawdza katalog
  • funkcję readdir,
    która odczytuje zawartość katalogu