Funkcija readdir

Funkcija readdir nolasa direktorijas saturu, kas atvērta, izmantojot opendir. Katrā izsaukumā atgriež nākamā faila nosaukumu vai false, ja vairāk nav failu. Funkcija saglabā iekšējo pozīcijas rādītāju direktorijā.

Sintakse

phpreaddir(resource $dir_handle): string|false

Piemērs

Visu failu lasīšana direktorijā:

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

Koda izpildes rezultāts (izvades piemērs):

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

Piemērs

Speciālo ierakstu '.' un '..' filtrēšana:

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

Koda izpildes rezultāts (izvada tikai reālos failus un apakšdirektorijas):

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

Piemērs

Visu failu savākšana masīvā:

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

Koda izpildes rezultāts:

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

Skatiet arī

  • funkciju opendir,
    kas atver direktorijas deskriptoru
  • funkciju scandir,
    kas atgriež visus direktorijas failus masīva veidā