readdir

(PHP 4, PHP 5, PHP 7, PHP 8)

readdir从目录句柄中读取条目

说明

readdir(?resource $dir_handle = null): string|false

返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。

参数

dir_handle

目录句柄的 resource,之前由 opendir() 打开

返回值

成功则返回文件名 或者在失败时返回 false

警告

此函数可能返回布尔值 false,但也可能返回等同于 false 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

更新日志

版本 说明
8.0.0 现在 dir_handle 可以为 null。

范例

示例 #1 列出目录中的所有文件

请留意下面例子中检查 readdir() 返回值的风格。这里明确地测试返回值是否全等于(值和类型都相同——更多信息参见比较运算符false,否则任何目录项的名称求值为 false 的都会导致循环停止(例如一个目录名为“0”)。

<?php

if ($handle = opendir('/path/to/files')) {
echo
"Directory handle: $handle\n";
echo
"Entries:\n";

/* 这是正确地遍历目录方法 */
while (false !== ($entry = readdir($handle))) {
echo
"$entry\n";
}

/* 这是错误地遍历目录的方法 */
while ($entry = readdir($handle)) {
echo
"$entry\n";
}

closedir($handle);
}
?>

示例 #2 列出当前目录的所有文件并去掉 ...

<?php
if ($handle = opendir('.')) {
while (
false !== ($entry = readdir($handle))) {
if (
$entry != "." && $entry != "..") {
echo
"$entry\n";
}
}
closedir($handle);
}
?>

参见

  • is_dir() - 判断给定文件名是否是一个目录
  • glob() - 寻找与模式匹配的文件路径
  • opendir() - 打开目录句柄
  • scandir() - 列出指定路径中的文件和目录

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top