Windows 命令 DIR 和 Linux 命令 ls 都显示当前目录中的文件列表。这些命令可以通过不同的开关进行操作,以对显示的文件列表应用条件。PHP 提供了几个选项,用于以编程方式列出给定目录中的文件。
readdir() 函数
PHP opendir() 函数类似于 fopen() 函数。它将句柄返回给目录,以便可以以序列化方式读取目录的内容。
此函数打开一个目录句柄,用于后续的 closedir()、readdir() 和 rewinddir() 调用。
readdir() 函数从 opendir() 函数返回的流句柄中读取下一个可用条目。
这里,dir_handle 是之前使用 opendir().not 指定的目录句柄,则假定 opendir() 打开的最后一个链接。
closedir() 函数类似于 fclose() 函数。它将关闭目录句柄。
该函数将关闭 dir_handle 指示的目录流。该流必须之前已由 opendir() 打开。
例子
以下 PHP 代码从当前记录的目录中一次读取一个文件。
scandir() 函数
scandir() 函数检索给定目录中的文件和子目录。
默认情况下,“sorting_order”按字母升序排列。如果此可选参数设置为 SCANDIR_SORT_DESCENDING,则排序顺序将按字母降序排列。如果设置为 SCANDIR_SORT_NONE,则结果将变为 unsorted。
例子
使用以下 PHP 代码,scandir() 函数返回给定目录中的文件数组。
将产生以下输出 -
array(4) {
[0]=>
string(1) "."
[1]=>
string(2) ".."
[2]=>
string(5) "a.txt"
[3]=>
string(5) "b.txt"
}
[0]=>
string(1) "."
[1]=>
string(2) ".."
[2]=>
string(5) "a.txt"
[3]=>
string(5) "b.txt"
}
您可以使用 foreach 循环遍历 scandir() 函数返回的数组。
它将产生以下输出 -
.
..
a.txt
b.txt
..
a.txt
b.txt