readdir

(PHP 3, PHP 4 )

readdir -- 从目录句柄中读取条目

说明

string readdir ( resource dir_handle)

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

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

例子 1. 列出目录中的所有文件

// 注意在 4.0.0-RC2 之前不存在 !== 运算符
<?php
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); 
}
?>

注意 readdir() 将会返回 ... 条目。如果不想要它们,只要过滤掉即可:

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

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

参见 is_dir()glob()