我希望构建一个php函数,它将列出特定目录中的所有文件夹和子文件夹,但是转义列表中的某个目录文件夹/子文件夹。
$dir = "directory_to_scan_for_folders"
$escape_folder = "folder_to_escape";
function listFolders($dir) {
$items = glob($dir . '/*', GLOB_ONLYDIR);
for ($i = 0; $i < count($items); $i++) {
if (is_dir($items[$i])) {
$add = glob($items[$i] . '/*',GLOB_ONLYDIR);
$items = array_merge($items, $add);
}
}
return $items;
}
我已经能够列出具有上述功能的所有文件夹,但不知道如何从列表中转义$ escape_folder文件夹及其子文件夹。
注意:“escape_folder”表示文件夹 我不想在列表中显示。
答案 0 :(得分:0)
假设“转义文件夹”是指您不希望在列表中看到的文件夹,请在if (is_dir($items[$i])) {
之后立即插入以下行:
if ($escape_folders == $items[$i]) continue;
但请查看foreach
而不是for
,而petraszd如果可以的话,您可能希望查看Directory iterator。在这种情况下,您可以使用:
if ($escape_folders == $file->getBasename()) continue;