php无限遍历文件夹示例分享



<?php
function traverseFolders($dir) {
    // 检查目录是否存在
    if (!is_dir($dir)) {
        echo "Directory '{$dir}' does not exist.";
        return;
    }

    // 打开目录
    $files = scandir($dir);

    foreach ($files as $file) {
        // 忽略'.'和'..'目录
        if ($file !== '.' && $file !== '..') {
            $fullPath = $dir . DIRECTORY_SEPARATOR . $file;

            // 如果是目录,则递归遍历
            if (is_dir($fullPath)) {
                echo "Directory: $fullPath\n";
                traverseFolders($fullPath);
            } else {
                // 如果是文件,则输出文件名
                echo "File: $fullPath\n";
            }
        }
    }
}

// 调用函数,假设我们要遍历的目录是'./example'
traverseFolders('./example');
?>

这段代码展示了如何在PHP中无限遍历文件夹(实际上是递归遍历)。它定义了一个`traverseFolders`函数,该函数接受一个目录路径作为参数。函数内部,首先检查该路径是否为一个目录,然后使用`scandir`函数获取目录下的所有文件和子目录。接着,遍历这些文件和子目录,如果子目录存在,则递归调用`traverseFolders`函数来遍历该子目录;如果是文件,则直接输出文件名。通过这种方式,可以遍历目录及其所有子目录。