PHP readdir() 函数用法及示例

PHP Directory 参考手册

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

PHP Directory 参考手册