好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php中删除文件夹以及文件夹中的文件的方法_自学

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

 

在本实例中使用到了php中比较重要的几个文件操作的函数,

1.opendir:如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error]。你可以在函数的最前面加上[@]来隐藏错误。

2.readdir:从目录留里面里面的返回的结果是,首先是一个.(表示这个目录,进入目录开始读取),返回..(表示已经在目录中,正在读取目录中的文件) 然后返回文件或者文件夹的名字,如果没有则返回false

3.closedir:关闭目录流

 

完整代码: [cce_php] <!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/$item\n"; } } } closedir ($handle );//关闭文件目录流 if($flag==true){ if (rmdir($dirName )) echo '目录以及文件删除成功';//最后删除输入的文件夹 } } } ?> <?php delDirAndFile("dd",false); ?> </body> </html>

[/cce_php]

代码的基本介绍在代码中都有说明,现在我们来看看测试的结果:

执行前的文件结构目录

 

执行时页面显示结果:

执行之后的问价目录结构:

 

 

查看更多关于php中删除文件夹以及文件夹中的文件的方法_自学的详细内容...

  阅读:236次