在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);
}
}
}
发表评论 取消回复