ฟังก์ชัน 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,
    ซึ่งส่งคืนไฟล์ทั้งหมดของไดเรกทอรีในรูปแบบอาร์เรย์