我有4个文件夹,我要检查其中的图像和php文件。 这是结构文件夹的布置。
主文件夹包含两个子文件夹(second_folder和third_folder),而 third_folder 包含一个子文件夹(fourth_folder) 等。
当前使用以下代码,我只能访问 first_main_folder 中的所有文件。
$files = glob('first_Main_folder/*.{jpg,png,gif,php}', GLOB_BRACE);
foreach($files as $file) {
echo "<br>$file<br>";
}
请访问 其余子文件夹中的文件(second_folder,third_folder,fourth_folder),依此类推
谢谢
first_Main_folder
test.png
data.php
check.gif
second_folder
tony.jpg
mark.gif
action.php
third_folder
index.php
post.php
sender.php
han.gif
fourth_folder
catch.php
index2.php
redirect.php
and so on
答案 0 :(得分:0)
下面的此功能将同时扫描主目录和所有子目录。这个对我有用。谢谢。
function outputFiles1($path){
// Check directory exists or not
if(file_exists($path) && is_dir($path)){
// Search the files in this directory
$files = glob($path ."/*");
if(count($files) > 0){
// Loop through retuned array
foreach($files as $file){
if(is_file("$file")){
// Display only filename
echo basename($file) . filesize($file) . "<br>";
} else if(is_dir("$file")){
// Recursively call the function if directories found
outputFiles1("$file");
}
}
} else{
echo "ERROR: No such file found in the directory.";
}
} else {
echo "ERROR: The directory does not exist.";
}
}
// Call the function
outputFiles1("C:/xampp/htdocs/first_main_folder");
答案 1 :(得分:0)
以下示例摘自this post。
function rsearch($folder, $pattern='/.*/') {
$dir = new RecursiveDirectoryIterator($folder);
$ite = new RecursiveIteratorIterator($dir);
$files = new RegexIterator($ite, $pattern, RegexIterator::GET_MATCH);
$fileList = array();
foreach($files as $file) {
$fileList = array_merge($fileList, $file);
}
return $fileList;
}
$result = rsearch('./');
print_r($result);