PHP 查询指定目录下面的所有指定后缀文件

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

要查询指定目录下的所有指定后缀文件,您可以使用递归函数来搜索目录及其所有子目录中的所有匹配文件。
以下是一个示例代码,演示如何使用递归函数来查询指定目录下的所有指定后缀文件:
<?php
function find_files($dir, $extension) {
    $result = array();
    // 打开目录并读取其中的文件
    if (is_dir($dir)) {
        $files = scandir($dir);
        foreach($files as $file) {
            if ($file != '.' && $file != '..') {
                // 如果是目录,则递归查询子目录
                if (is_dir($dir . '/' . $file)) {
                    $result = array_merge($result, find_files($dir . '/' . $file, $extension));
                }
                // 如果是文件且文件扩展名匹配,则将其添加到结果数组中
                else if (preg_match("/$extension\$/i", $file)) {
                    $result[] = $dir . '/' . $file;
                }
            }
        }
    }
    return $result;
}
// 指定目录和文件扩展名
$dir = "/path/to/directory";
$extension = ".php";
// 调用递归函数查询匹配文件
$files = find_files($dir, $extension);
// 输出结果
foreach($files as $file) {
    echo $file . "\n";
}
?>
这段代码首先定义了一个名为find_files的递归函数,该函数接受目录路径和文件扩展名作为参数。在函数内部,使用scandir函数打开目录并读取其中的文件,然后遍历文件列表并判断每个文件是否是目录或者是否与指定文件扩展名匹配。如果是目录,则递归调用find_files函数来搜索子目录;如果是匹配文件,则将其添加到结果数组中。最后,函数返回结果数组。
在主程序中,指定目录和文件扩展名,然后调用find_files函数来查询匹配文件。最后,使用foreach循环输出每个匹配文件的完整路径。
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。