欢迎访问宙启技术站
智能推送

如何使用PHP函数遍历文件夹并列出所有文件

发布时间:2023-07-02 13:21:44

在PHP中,我们可以使用scandir()函数来遍历文件夹并列出所有文件。scandir()函数返回一个包含文件夹中所有文件和文件夹的数组。

下面是一个使用scandir()函数遍历文件夹并列出所有文件的示例代码:

function listFiles($dir) {
    // 检查文件夹是否存在并可读
    if (!is_dir($dir) || !is_readable($dir)) {
        return false;
    }

    // 获取文件夹中所有文件和文件夹
    $files = scandir($dir);

    // 遍历文件夹中的每个文件和文件夹
    foreach ($files as $file) {
        // 排除文件夹中的"."和".."
        if ($file != "." && $file != "..") {
            // 拼接文件的完整路径
            $filePath = $dir . "/" . $file;

            // 判断是否是文件夹
            if (is_dir($filePath)) {
                echo "文件夹: " . $file . "<br>";
                // 递归调用listFiles()函数,遍历子文件夹
                listFiles($filePath);
            } else {
                echo "文件: " . $file . "<br>";
            }
        }
    }

    return true;
}

// 调用函数,传入要遍历的文件夹路径
$dirPath = "path/to/folder";
listFiles($dirPath);

在上面的示例中,我们定义了一个名为listFiles()的函数来遍历文件夹并列出所有文件。首先,我们会检查文件夹是否存在并可读。然后,我们使用scandir()函数获取文件夹中的所有文件和文件夹。接下来,我们使用foreach循环遍历文件夹中的每个文件和文件夹。如果遇到子文件夹,我们会递归调用listFiles()函数来继续遍历子文件夹。如果遇到文件,我们会将其打印出来。

最后,我们调用listFiles()函数来实际进行文件夹遍历。只需将要遍历的文件夹路径传递给listFiles()函数即可。

希望以上示例能帮助你理解如何使用PHP函数遍历文件夹并列出所有文件!