<?php
function traverseFolders($dir) {
// 检查目录是否存在
if (!is_dir($dir)) {
echo "Directory '{$dir}' does not exist.";
return;
}
// 打开目录
$files = scandir($dir);
foreach ($files as $file) {
// 忽略'.'和'..'目录
if ($file !== '.' && $file !== '..') {
$fullPath = $dir . DIRECTORY_SEPARATOR . $file;
// 如果是目录,则递归遍历
if (is_dir($fullPath)) {
echo "Directory: $fullPath\n";
traverseFolders($fullPath);
} else {
// 如果是文件,则输出文件名
echo "File: $fullPath\n";
}
}
}
}
// 调用函数,假设我们要遍历的目录是'./example'
traverseFolders('./example');
?>
这段代码展示了如何在PHP中无限遍历文件夹(实际上是递归遍历)。它定义了一个`traverseFolders`函数,该函数接受一个目录路径作为参数。函数内部,首先检查该路径是否为一个目录,然后使用`scandir`函数获取目录下的所有文件和子目录。接着,遍历这些文件和子目录,如果子目录存在,则递归调用`traverseFolders`函数来遍历该子目录;如果是文件,则直接输出文件名。通过这种方式,可以遍历目录及其所有子目录。