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); } ?>