php中删除文件夹以及文件夹中的文件程序代码
在学习本方法之前我们最rmdir();函数,这个函数就是根据指定的文件路劲,删除文件或者是文件夹,但是当删除的是文件夹,并且文件夹里面还有内容的时候,就会出现Directory not empty 的错误,这个怎么来解决呢,现在我们就通过编写一个函数来解决这个问题。
在本实例中使用到了php中比较重要的几个文件操作的函数,
1.opendir:如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error]。你可以在函数的最前面加上“@”来隐藏错误。
2.readdir:从目录留里面里面的返回的结果是,首先是一个.(表示这个目录,进入目录开始读取),返回..(表示已经在目录中,正在读取目录中的文件) 然后返回文件或者文件夹的名字,如果没有则返回false
3.closedir:关闭目录流
完整代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<?php
function delDirAndFile($dirName,$flag) {
if (@$handle = opendir ( "$dirName" )) {
//如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error]。你可以在函数的最前面加上“@”来隐藏错误。
while ( false!==($item = readdir($handle))) {
//从目录留里面里面的返回的结果是,首先是一个.(表示这个目录,进入目录开始读取),返回..(表示已经在目录中,正在读取目录中的文件)
//然后返回文件或者文件夹的名字,如果没有则返回false
if ($item!= "." && $item != "..") {
//这里是当有文件或者是文件夹的时候开始做出判断
if (is_dir("$dirName/$item" )) {
//如果是文件夹,递归都用
delDirAndFile("$dirName/$item");
} else {
//否则就删除文件
if (unlink ( "$dirName/$item" ))
//判断文件是不是删除成功了
echo "删除文件 $dirName/$itemn";
}
}
}
closedir ($handle );//关闭文件目录流
if($flag==true){
if (rmdir($dirName ))
echo '目录以及文件删除成功';//最后删除输入的文件夹
}
}
}
?>
<?php
delDirAndFile("dd",false);
?>
</body>
</html>
您可能感兴趣的文章:
PHP如何删除一个路径下的所有文件夹和文件?
VBS脚本运行库手册(2)-管理文件夹
删除指定文件夹中所有文件的php代码
php中删除文件夹以及文件夹中的文件程序代码
c#文件夹 递归访问的实现代码
php 读取文件夹与文件夹中文件的函数
php 删除记录同时删除图片文件的代码
常用dos操作命令
PHP删除N分钟前创建的所有文件的小例子
php删除目录下N天前所有文件的代码一例