关于php:PHP实现读取指定目录下的所有文件

56次阅读

共计 856 个字符,预计需要花费 3 分钟才能阅读完成。

在 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);
        }
    }
}

正文完
 0