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
readdir(resource $dir_handle): string|false
Ví dụ
Đọc tất cả các tệp trong thư mục:
<?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):
"file1.txt"
"file2.jpg"
"subdirectory"
Ví dụ
Lọc các mục đặc biệt '.' và '..':
<?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ự):
'index.php'
'styles.css'
'images'
Ví dụ
Thu thập tất cả các tệp vào một mảng:
<?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ã:
Array
(
[0] => "document.pdf"
[1] => "image.png"
[2] => "data.json"
)