Funcția readdir

Funcția readdir citește conținutul unui director deschis cu opendir. La fiecare apel returnează numele următorului fișier sau false dacă nu mai există fișiere. Funcția păstrează un indicator intern de poziție în director.

Sintaxă

phpreaddir(resource $dir_handle): string|false

Exemplu

Citirea tuturor fișierelor dintr-un director:

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

Rezultatul executării codului (exemplu de afișare):

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

Exemplu

Filtrarea intrărilor speciale '.' și '..':

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

Rezultatul executării codului (afișează doar fișiere și subdirectoare reale):

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

Exemplu

Colectarea tuturor fișierelor într-un array:

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

Rezultatul executării codului:

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

Vezi și

  • funcția opendir,
    care deschide un descriptor de director
  • funcția scandir,
    care returnează toate fișierele directorului sub formă de array