PHP如何删除一个路径下的所有文件夹和文件?
PHP如何删除一个路径下的所有文件夹和文件?下面本篇文章给大家介绍一下PHP删除一个路径下的所有文件夹和文件的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
用到的函数:
scandir($path) 遍历一个文件夹所有文件并返回数组。
unlink($filename) 删除文件。
rmdir($path) 只删除空文件夹
代码:
删除单个文件
- $file = "./aa/aas.txt";
- if (!unlink($file))
- {
- echo ("Error deleting $file");
- }
- else
- {
- echo ("Deleted $file");
- }
删除一个路径下的所有文件夹和文件的方法1
- $path = "./aa";
- function deleteDir($dir)
- {
- if (!$handle = @opendir($dir)) {
- return false;
- }
- while (false !== ($file = readdir($handle))) {
- if ($file !== "." && $file !== "..") { //排除当前目录与父级目录
- $file = $dir . '/' . $file;
- if (is_dir($file)) {
- deleteDir($file);
- } else {
- @unlink($file);
- }
- }
- }
- @rmdir($dir);
- }
- deleteDir($path);
删除一个路径下的所有文件夹和文件的方法2
- //设置需要删除的文件夹
- $path = "./aa";
- //清空文件夹函数和清空文件夹后删除空文件夹函数的处理
- function deldir($path){
- //如果是目录则继续
- if(is_dir($path)){
- //扫描一个文件夹内的所有文件夹和文件并返回数组
- $p = scandir($path);
- foreach($p as $val){
- //排除目录中的.和..
- if($val !="." && $val !=".."){
- //如果是目录则递归子目录,继续操作
- if(is_dir($path.'/'.$val)){
- //子目录中操作删除文件夹和文件
- deldir($path.'/'.$val);
- //目录清空后删除空文件夹
- @rmdir($path.'/'.$val);
- }else{
- //如果是文件直接删除
- unlink($path.'/'.$val);
- }
- }
- }
- }
- }
- //调用函数,传入路径
- deldir($path);