Functie readdir

De functie readdir leest de inhoud van een directory die is geopend met opendir. Bij elke aanroep retourneert het de naam van het volgende bestand of false als er geen bestanden meer zijn. De functie behoudt een interne positie-aanwijzer in de directory.

Syntaxis

phpreaddir(resource $dir_handle): string|false

Voorbeeld

Alle bestanden in een directory lezen:

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

Resultaat van code-uitvoering (voorbeeld output):

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

Voorbeeld

Speciale vermeldingen '.' en '..' filteren:

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

Resultaat van code-uitvoering (toont alleen echte bestanden en subdirectory's):

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

Voorbeeld

Alle bestanden in een array verzamelen:

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

Resultaat van code-uitvoering:

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

Zie ook

  • functie opendir,
    die een directory-handle opent
  • functie scandir,
    die alle bestanden van een directory als een array retourneert