readdir()函数从目录句柄中读取条目
string readdir ( resource $dir_handle );
它返回目录中下一个文件的文件名。文件名按文件系统存储的顺序返回。
| 序号 | 参数及说明 |
|---|---|
| 1 | dir_handle(必需) 目录句柄的 resource,之前由 opendir() 打开 |
成功返回文件名,失败返回FALSE。
注意:此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。
以下是此函数的用法,打开一个目录,读取它的内容,然后关闭:
<?php
$dir = opendir("/var/www/images");
while (($file = readdir($dir)) !== false) {
echo "filename: " . $file . "<br />";
}
closedir($dir);
?>输出结果
filename: . filename: .. filename: logo.gif filename: mohd.gif
列出目录中的所有文件 :
请留意下面实例中检查 readdir() 返回值的风格。这里明确地测试返回值是否全等于(值和类型都相同——更多信息参见比较运算符)FALSE,否则任何目录项的名称求值为 FALSE 的都会导致循环停止(例如一个目录名为“0”)。
<?php
// 注意在 4.0.0-RC2 之前不存在 !== 运算符
if ($handle = opendir('/path/to/files')) {
echo "Directory handle: $handle\n";
echo "Files:\n";
/* 这是正确地遍历目录方法 */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}
/* 这是错误地遍历目录的方法 */
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
}
?>