Функцијата readdir

Функцијата readdir ја чита содржината на директориумот отворен со opendir. При секој повик го враќа името на следната датотека или false ако нема повеќе датотеки. Функцијата го зачувува внатрешниот покажувач на позицијата во директориумот.

Синтакса

phpreaddir(resource $dir_handle): string|false

Пример

Читање на сите датотеки во директориум:

php<?php
  $dir = opendir('/path/to/directory');
  
  while (($file = readdir($dir)) !== false) {
    echo $file . '<br>';
  }
  closedir($dir);
?>

Резултат од извршувањето на кодот (пример за излез):

php"file1.txt"
"file2.jpg"
"subdirectory"

Пример

Филтрирање на специјалните записи '.' и '..':

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

Резултат од извршувањето на кодот (ги прикажува само реалните датотеки и поддиректориуми):

php'index.php'
'styles.css'
'images'

Пример

Собирање на сите датотеки во низа:

php<?php
  $files = [];
  if ($handle = opendir('/path/to/dir')) {
    while (false !== ($entry = readdir($handle))) {
      if ($entry != '.' && $entry != '..') {
        $files[] = $entry;
      }
    }
    closedir($handle);
  }
  print_r($files);
?>

Резултат од извршувањето на кодот:

phpArray
(
  [0] => "document.pdf"
  [1] => "image.png"
  [2] => "data.json"
)

Погледнете ги и

  • функцијата opendir,
    која отвора дескриптор на директориум
  • функцијата scandir,
    која ги враќа сите датотеки од директориумот како низа