在php中读取指定目录下的文件次要用到了opendir和readdir函数
一:opendir(关上目录句柄)
1:语法
opendir(path,context);
2:参数阐明
参数 | 形容 |
---|---|
path | 必须。规定要关上的目录门路。 |
context | 可选。规定目录句柄的环境。context 是可批改目录流的行为的一套选项。 |
3:返回值
胜利则返回目录句柄资源。失败则返回 FALSE。如果门路不是非法目录,或者因为许可限度或文件系统谬误导致的目录不能关上,则抛出 E_WARNING 级别的谬误。您能够通过在函数名称前增加 '@' 来暗藏 opendir() 的谬误输入。
二:readdir(回目录中下一个文件的文件名)
1:语法
readdir(dir_handle);
2:参数阐明
参数 | 形容 |
---|---|
dir_handle | 可选。指定之前由 opendir() 关上的目录句柄资源。如果该参数未指定,则应用最初一个由 opendir() 关上的链接。 |
3:返回值
胜利则返回文件名,失败则返回 FALSE。
三:php实现读取指定目录下所有文件
/** * @param string $path [要读取的文件目录] */public function traverse($path = '.') { $currentDir = opendir($path); //opendir()返回一个目录句柄,失败返回false while(($file = readdir($currentDir)) !== false) { //readdir()返回关上目录句柄中的一个条目 $subDir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录门路 if($file == '.' || $file == '..') { continue; } else if(is_dir($subDir)) { //如果是目录,进行递归 $this->traverse($subDir); } else { //如果是文件,调用clasbackFun办法(参数:文件门路,文件名) $this->callbackFun($path,$file); } }}