📌  相关文章
📜  使用PHP从文件夹中删除所有文件

📅  最后修改于: 2022-05-13 02:24:08.646000             🧑  作者: Mango

使用PHP从文件夹中删除所有文件

在PHP,可以使用各种方法和内置方法删除文件夹中的文件,例如 unlink、DirectoryIterator 和 DirectoryRecursiveIterator。
其中一些方法解释如下:

方法一:

  • 使用glob()方法生成文件列表
  • 迭代文件列表。
  • 检查文件名是否有效。
  • 使用 unlink() 方法删除文件。

例子:


输出:
运行代码前:

运行代码后:

注意:隐藏文件可以通过添加以下代码包含在文件删除操作中:

$hidden_files = glob($folder_path.'/{, .}*', GLOB_BRACE);

方法二:



  • 使用glob()方法生成文件列表。
  • 使用 array_filter() 或 array_merge() 方法过滤列表。
  • 使用 array_map() 方法将列表映射到 unlink() 方法。

例子:


方法三:

  • 使用 DirectoryIterator 生成文件列表。
  • 迭代文件列表。
  • 在检查文件目录是否有点的同时验证文件。
  • 使用 getPathName 方法引用,使用 unlink() 方法删除文件。

例子:

isDot()) {
  
        // Delete the given file
        unlink($fileinfo->getPathname());
    }
}
?>

方法四:

  • 使用RecursiveDirectoryIterator生成给定文件夹目录中所有目录层次结构的列表
    $dir = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS);
    $dir = new RecursiveIteratorIterator($dir, RecursiveIteratorIterator::CHILD_FIRST);
  • FilesystemIterator::SKIP_DOTS用于在生成文件列表时忽略点。
  • RecursiveIteratorIterator::CHILD_FIRST用于选择存在于根目录中的文件。
  • 根据规范遍历文件列表并删除文件夹和文件。

例子:

isDir() ?  rmdir($file) : unlink($file);
}
?>