📜  php 递归删除目录 - PHP (1)

📅  最后修改于: 2023-12-03 15:03:43.866000             🧑  作者: Mango

PHP递归删除目录

在PHP中,递归删除目录有时是必须的,特别是在处理大量文件时。递归删除目录可以快速、方便地删除目录中的所有文件和子目录,而无需手动删除每个文件和子目录。

以下是一个PHP函数,用于递归删除目录:

function deleteFolder($folder) {
    if (is_dir($folder)) {
        $files = scandir($folder);
        foreach ($files as $file) {
            if ($file != "." && $file != "..") {
                deleteFolder("$folder/$file");
            }
        }
        rmdir($folder);
    } else {
        unlink($folder);
    }
}

下面来解释一下这个函数的实现逻辑:

  • 如果目录存在,则调用 scandir() 函数获取目录中的所有文件和子目录。
  • 使用 foreach 循环遍历目录中的文件和子目录,并调用 deleteFolder() 函数递归地删除每个文件和子目录。
  • 如果目标文件或目录不存在,则删除目录。

请注意,如果您决定使用此函数,请小心操作。递归删除目录时,将删除目录中的所有文件和子目录,因此请确保您要删除的目录和文件不再需要。