使用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);
}
?>