要查询指定目录下的所有指定后缀文件,您可以使用递归函数来搜索目录及其所有子目录中的所有匹配文件。
以下是一个示例代码,演示如何使用递归函数来查询指定目录下的所有指定后缀文件:
<?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循环输出每个匹配文件的完整路径。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容