Funktionen readdir

Funktionen readdir læser indholdet af en mappe, der er åbnet med opendir. Ved hvert kald returnerer den navnet på den næste fil eller false, hvis der ikke er flere filer. Funktionen bevarer en intern positionsmarkør i mappen.

Syntaks

phpreaddir(resource $dir_handle): string|false

Eksempel

Læsning af alle filer i en mappe:

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

Resultat af kodekørsel (eksempel på output):

php"file1.txt"
"file2.jpg"
"submappe"

Eksempel

Filtrering af specielle poster '.' og '..':

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

Resultat af kodekørsel (viser kun reelle filer og undermapper):

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

Eksempel

Indsamling af alle filer i et array:

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

Resultat af kodekørsel:

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

Se også

  • funktionen opendir,
    som åbner en mappehandle
  • funktionen scandir,
    som returnerer alle filer i en mappe som et array