一、什么是文件遍历

文件遍历是指按照特定的规则,从某个位置开始,对文件及文件夹进行逐步深入的搜索,并分别将搜索到的文件及文件夹进行列出。一般来说,文件遍历的目的是为了获取文件的信息,比如文件的大小,文件的类型,文件的路径等。

二、PHP中的文件遍历

PHP中,使用递归的方法可以实现文件遍历,通常需要使用到以下几个函数:

  • opendir():打开一个目录句柄;
  • readdir():从目录句柄中读取条目;
  • is_dir():检测指定的文件名是否是一个目录;
  • closedir():关闭目录句柄;

三、实现代码

下面是一个使用PHP实现文件遍历的示例代码:

function scan_dir($dir) {
    $files = array();
    if(is_dir($dir)) {
        if ($handle = opendir($dir)) {
            while (($file = readdir($handle)) !== false) {
                if ($file != "." && $file != "..") {
                    if (is_dir($dir . "/" . $file)) {
                        $files[$file] = scan_dir($dir . "/" . $file);
                    } else {
                        $files[] = $file;
                    }
                }
            }
            closedir($handle);
            return $files;
        }
    }
}

$files = scan_dir('/path/to/directory');
print_r($files);