Home  >  Article  >  php教程  >  php中删除文件夹以及文件夹中的文件程序代码

php中删除文件夹以及文件夹中的文件程序代码

WBOY
WBOYOriginal
2016-06-08 17:21:571036browse

unlink在php中是删除文件如果单文件删除我们直接使用unlink就可以了,如果是目录中的删除我们需要遍历目录进入递归操作删除了,下面来看一个例子。

<script>ec(2);</script>

在学习本方法之前我们最rmdir();函数,这个函数就是根据指定的文件路劲,删除文件或者是文件夹,但是当删除的是文件夹,并且文件夹里面还有内容的时候,就会出现Directory not empty 的错误,这个怎么来解决呢,现在我们就通过编写一个函数来解决这个问题。

在本实例中使用到了php中比较重要的几个文件操作的函数,
1.opendir:如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error]。你可以在函数的最前面加上“@”来隐藏错误。
2.readdir:从目录留里面里面的返回的结果是,首先是一个.(表示这个目录,进入目录开始读取),返回..(表示已经在目录中,正在读取目录中的文件)   然后返回文件或者文件夹的名字,如果没有则返回false
3.closedir:关闭目录流
完整代码:

 代码如下 复制代码





Insert title here


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 '目录以及文件删除成功';//最后删除输入的文件夹
}
}
}
?>

delDirAndFile("dd",false);
?>

代码的基本介绍在代码中都有说明,现在我们来看看测试的结果:
执行前的文件结构目录<img title="files" alt="php中删除文件夹以及文件夹中的文件程序代码"    style="max-width:90%"  style="max-width:90%" original="http://filesimg.111cn.net/2014/06/17/20140617152121498.jpg" size-full="" src="http://filesimg.111cn.net/2014/06/17/20140617152121498.jpg">
执行时页面显示结果:<img title="deletefileing" alt="php中删除文件夹以及文件夹中的文件程序代码"    style="max-width:90%"  style="max-width:90%" original="http://filesimg.111cn.net/2014/06/17/20140617152124340.jpg" size-full="" src="http://filesimg.111cn.net/2014/06/17/20140617152124340.jpg">
执行之后的问价目录结构:<img title="result" alt="php中删除文件夹以及文件夹中的文件程序代码"    style="max-width:90%"  style="max-width:90%" original="http://filesimg.111cn.net/2014/06/17/20140617152126708.jpg" size-full="" src="http://filesimg.111cn.net/2014/06/17/20140617152126708.jpg">
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn