下面是一个PHP无限遍历目录的示例代码。这段代码使用了递归函数来遍历指定目录下的所有文件和子目录。请注意,为了防止无限递归(虽然这里我们讨论的是“无限遍历”,但在实际编程中,你需要考虑设置一个退出条件,比如最大深度或特定条件的文件/目录不遍历),我在代码中添加了一个简单的退出条件,即不遍历以`.`或`..`开头的目录(这通常是当前目录和上级目录的链接)。
<?php
function traverseDirectory($dir) {
// 检查指定的目录是否存在
if (!is_dir($dir)) {
echo "目录不存在: " . $dir . "\n";
return;
}
// 打开目录并读取其内容
$files = scandir($dir);
// 遍历目录中的文件和子目录
foreach ($files as $file) {
// 忽略"."和".."目录
if ($file == '.' || $file == '..') {
continue;
}
// 构建完整的文件路径
$filePath = $dir . DIRECTORY_SEPARATOR . $file;
// 如果是目录,则递归调用
if (is_dir($filePath)) {
echo "目录: " . $filePath . "\n";
traverseDirectory($filePath);
} else {
// 否则,输出文件信息
echo "文件: " . $filePath . "\n";
}
}
}
// 调用函数,假设我们要遍历的目录是'/path/to/your/directory'
traverseDirectory('/path/to/your/directory');
?>
请将`'/path/to/your/directory'`替换为你想要遍历的目录的实际路径。这个脚本将递归地列出指定目录下的所有文件和子目录。注意,在实际应用中,你可能需要根据需要调整这个脚本,比如添加对特定文件或目录的过滤,或者处理可能的权限问题。