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循环输出每个匹配文件的完整路径。
以下是一个示例代码,演示如何使用递归函数来查询指定目录下的所有指定后缀文件:
<?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循环输出每个匹配文件的完整路径。
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03