Hàm readdir

Hàm readdir đọc nội dung của thư mục được mở bằng opendir. Trong mỗi lần gọi, nó trả về tên của tệp tiếp theo hoặc false nếu không còn tệp nào nữa. Hàm lưu con trỏ vị trí nội bộ trong thư mục.

Cú pháp

phpreaddir(resource $dir_handle): string|false

Ví dụ

Đọc tất cả các tệp trong thư mục:

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

Kết quả thực thi mã (ví dụ đầu ra):

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

Ví dụ

Lọc các mục đặc biệt '.' và '..':

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

Kết quả thực thi mã (chỉ xuất các tệp và thư mục con thực sự):

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

Ví dụ

Thu thập tất cả các tệp vào một mảng:

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

Kết quả thực thi mã:

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

Xem thêm

  • hàm opendir,
    mở một bộ mô tả thư mục
  • hàm scandir,
    trả về tất cả các tệp trong thư mục dưới dạng một mảng