(PHP 4, PHP 5)
readdir — 从目录句柄中读取条目
说明
string readdir ([ resource$dir_handle
] )
返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
参数
dir_handle
目录句柄的 resource,之前由 opendir() 打开
返回值
成功则返回文件名 或者在失败时返回 FALSE
此函数可能返回布尔值
FALSE
,但也可能返回等同于 FALSE
的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
===
运算符来测试此函数的返回值。
范例
Example #1 列出目录中的所有文件
请留意下面例子中检查 readdir()
返回值的风格。这里明确地测试返回值是否全等于(值和类型都相同——更多信息参见比较运算符)FALSE
,否则任何目录项的名称求值为
FALSE
的都会导致循环停止(例如一个目录名为“0”)。
<?php
// 注意在 4.0.0-RC2 之前不存在 !== 运算符
if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handlen";
echo "Files:n";
/* 这是正确地遍历目录方法 */
while (false !== ($file = readdir($handle))) {
echo "$filen";
}
/* 这是错误地遍历目录的方法 */
while ($file = readdir($handle)) {
echo "$filen";
}
closedir($handle);
}
?>
Example #2 列出当前目录的所有文件并去掉 . 和 ..
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$filen";
}
}
closedir($handle);
}
?>
参见
is_dir() - 判断给定文件名是否是一个目录 glob() - 寻找与模式匹配的文件路径 opendir() - 打开目录句柄 scandir() - 列出指定路径中的文件和目录