我希望构建一个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;
}
我已经能够用上面的函数列出所有文件夹,但不知道如何从列表中转义$escapefolder文件夹及其子文件夹。
注:"escape_folder"是指文件夹我不想在列表中显示。
假设"转义文件夹"是指您不想在列表中看到的文件夹,请在if (is_dir($items[$i])) {
:之后立即插入以下行
if ($escape_folders == $items[$i]) continue;
但是看看foreach
而不是for
,正如petraszd所说,如果可以的话,你可能想看看目录迭代器。在这种情况下,您将使用:
if ($escape_folders == $file->getBasename()) continue;