当前位置:首页 > PHP教程 > php文件操作 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-11 17:13:10 浏览: 评论:0 

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

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

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

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

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

3.closedir:关闭目录流

完整代码如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
  5. <title>Insert title here</title> 
  6. </head> 
  7. <body> 
  8. <?php 
  9. //开源软件:phpfensi.com 
  10. function delDirAndFile($dirName,$flag) { 
  11. if (@$handle = opendir ( "$dirName" )) { 
  12.     //如果该函数成功运行,将返回一组目录流(一组目录字符串),如果失败将返回错误[error]。你可以在函数的最前面加上“@”来隐藏错误。  
  13. while ( false!==($item = readdir($handle))) { 
  14. //从目录留里面里面的返回的结果是,首先是一个.(表示这个目录,进入目录开始读取),返回..(表示已经在目录中,正在读取目录中的文件) 
  15. //然后返回文件或者文件夹的名字,如果没有则返回false 
  16. if ($item!= "." && $item != "..") { 
  17. //这里是当有文件或者是文件夹的时候开始做出判断 
  18. if (is_dir("$dirName/$item" )) { 
  19. //如果是文件夹,递归都用 
  20. delDirAndFile("$dirName/$item"); 
  21. else { 
  22. //否则就删除文件 
  23. if (unlink ( "$dirName/$item" )) 
  24.    //判断文件是不是删除成功了 
  25. echo "删除文件 $dirName/$itemn"
  26. closedir ($handle );//关闭文件目录流 
  27. if($flag==true){ 
  28. if (rmdir($dirName )) 
  29. echo '目录以及文件删除成功';//最后删除输入的文件夹 
  30. ?> 
  31. <?php  
  32. delDirAndFile("dd",false); 
  33. ?> 
  34. </body> 
  35. </html> 

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

Tags: php删除文件夹 php文件程序

分享到: