PHP scandir()和readdir():读取目录(附带实例)
读取目录是指读取目录中的文件列表。PHP 提供了两种方式读取目录:
scandir() 函数的语法格式如下:
查看当前目录下的所有内容的示例代码如下:
readdir() 函数从目录句柄中读取条目。该函数执行成功返回文件名称,执行失败返回 false。其语法格式如下:
演示使用 opendir() 函数和 readdir() 函数读取目录中的内容的示例代码如下:
目录的操作通常具有不确定性。例如,程序不知道要操作的目录是否存在,以及要操作的是不是目录。为了保证代码的严谨性,减少代码执行过程中出现的错误,通常会使用系统函数来判断路径的有效性。
目录操作常用的判断函数如下表所示:
- 使用 scandir() 函数获取目录下的所有文件名;
- 使用 opendir() 函数获取资源类型的目录句柄,然后使用 readdir() 函数进行访问。
PHP scandir()获取目录下所有文件名
scandir() 函数用于返回指定目录中的文件和目录。该函数执行成功返回包含所有文件名的数组,执行失败返回 false。scandir() 函数的语法格式如下:
bool scandir( string $directory[, int $order, resource $context ] )$directory 表示要查看的目录;$order 规定排序方式,默认是 0,表示按字母升序排列。
查看当前目录下的所有内容的示例代码如下:
$dir_info = scandir('./'); foreach ($dir_info as $file) { echo $file . '<br>'; }在上述示例代码中,“./”表示当前目录。运行上述代码后,会输出当前目录下的所有内容,并按文件名首字母升序排列。
PHP readdir()函数读取目录
opendir() 函数用于打开一个目录句柄。该函数执行成功返回目录的句柄,执行失败返回 false。其语法格式如下:resource opendir( string $path[, resource $context ] )$path 表示要打开的目录路径。
readdir() 函数从目录句柄中读取条目。该函数执行成功返回文件名称,执行失败返回 false。其语法格式如下:
resource readdir( [ resource $dir_handle ] )$dir_handle 表示已经打开的目录句柄。
演示使用 opendir() 函数和 readdir() 函数读取目录中的内容的示例代码如下:
$resource = opendir('./'); $file = ''; while ($file = readdir($resource)) { echo $file . '<br>'; } closedir($resource);在上述示例代码中,使用 opendir() 函数打开当前目录句柄,使用 readdir() 函数获取目录中的文件。需要注意的是,打开一个目录句柄后,使用完毕时,建议使用 closedir() 函数关闭目录句柄。
目录的操作通常具有不确定性。例如,程序不知道要操作的目录是否存在,以及要操作的是不是目录。为了保证代码的严谨性,减少代码执行过程中出现的错误,通常会使用系统函数来判断路径的有效性。
目录操作常用的判断函数如下表所示:
函数 | 功能 |
---|---|
is_dir(string $filename) | 判断给定的名称是不是目录,是目录会返回 true,不是目录则返回 false |
getcwd() | 若成功会返回当前目录,失败则返回 false |
rewinddir(resource $dir_handle) | 将打开的目录句柄指针重置到目录的开头 |
chdir(string $directory) | 改变当前的目录,若成功会返回 true,失败则返回 false |