PHP readdir()和scandir():读取目录下的文件及文件夹
前面我们介绍了使用《opendir() 函数》打开一个目录资源,正确打开目录后就可以获取该目录下的文件及文件夹信息了。在 PHP 中提供了 readdir() 和 scandir() 两个函数来读取指定目录下的内容,下面我们来分别介绍以下。
【示例】使用 readdir() 函数读取指定目录中的的文件及文件夹。
scandir() 函数执行成功会返回一个包含有文件及文件夹名称的数组,如果执行失败则返回 FALSE。如果参数 $directory 不是个目录,则返回布尔值 FALSE 并生成一条 E_WARNING 级的错误。
【示例】使用 scandir() 函数读取指定目录下的文件及文件夹名称。
1、readdir() 函数
使用 readdir() 函数可以获取目录中下一个文件或目录的名称,函数的语法格式如下:readdir([resource $dir_handle])
其中,$dir_handle 为可选参数,表示通过 opendir() 函数打开的目录资源。【示例】使用 readdir() 函数读取指定目录中的的文件及文件夹。
<?php $dir = 'D:'; if(is_dir($dir)){ $info = opendir($dir); while (($file = readdir($info)) !== false) { echo $file.'<br>'; } closedir($info); } ?>运行结果如下:
6C4816922082
CloudMusic
code
Download
Drivers
Gopath
install
System Volume Information
uploads
www
2、scandir() 函数
除了使用函数 readdir() 可以获取目录下的文件及文件夹名称外,使用 scandir() 函数也可以列出指定目录中的文件及文件夹名称,scandir() 函数的语法格式如下:scandir(string $directory[, int $sorting_order[, resource $context]])
参数说明如下:- $directory:要读取的目录;
-
$sorting_order:为可选参数,用来设定默认的排序方式;
- 如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则将返回结果按字母降序排列;
- 如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。
- $context:为可选参数,规定目录句柄的环境。$context 是可修改目录流的行为的一套选项。
scandir() 函数执行成功会返回一个包含有文件及文件夹名称的数组,如果执行失败则返回 FALSE。如果参数 $directory 不是个目录,则返回布尔值 FALSE 并生成一条 E_WARNING 级的错误。
【示例】使用 scandir() 函数读取指定目录下的文件及文件夹名称。
<?php $dir = 'D:'; if(is_dir($dir)){ $arr1 = scandir($dir); $arr2 = scandir($dir, 1); } echo "<pre>"; print_r($arr1); print_r($arr2); ?>运行结果如下:
Array
(
[0] => 6C4816922082
[1] => CloudMusic
[2] => Download
[3] => Drivers
[4] => Gopath
[5] => System Volume Information
[6] => code
[7] => install
[8] => uploads
[9] => www
)
Array
(
[0] => www
[1] => uploads
[2] => install
[3] => code
[4] => System Volume Information
[5] => Gopath
[6] => Drivers
[7] => Download
[8] => CloudMusic
[9] => 6C4816922082
)
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算