查看: 5307|回复: 0
打印 上一主题 下一主题

用PHP程序实现删除目录的三种方法实例

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-5 15:05:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
1。递规法: //没测试
  1. deleteDir($dir)
  2. {
  3. if (rmdir($dir)==false && is_dir($dir)) {
  4.   if ($dp = opendir($dir)) {
  5.    while (($file=readdir($dp)) != false) {
  6.     if (is_dir($file) && $file!='.' && $file!='..') {
  7.      deleteDir($file);
  8.     } else {
  9.      unlink($file);
  10.     }
  11.    }
  12.    closedir($dp);
  13.   } else {
  14.    exit('Not permission');
  15.   }
  16. }
  17. }
复制代码
2。系统调用法
  1. function del_dir($dir)
  2. {
  3. if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
  4.      $str = "rmdir /s/q " . $dir;
  5. } else {
  6.      $str = "rm -Rf " . $dir;
  7. }
  8. }
复制代码
3。循环法 from webjx.com
  1. function deltree($pathdir)
  2. {
  3. echo $pathdir;//我调试时用的
  4. if(is_empty_dir($pathdir))//如果是空的
  5.     {
  6.     rmdir($pathdir);//直接删除
  7.     }
  8.     else
  9.     {//否则读这个目录,除了.和..外
  10.         $d=dir($pathdir);
  11.         while($a=$d->read())
  12.         {
  13.         if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}

  14.        //如果是文件就直接删除
  15.         if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))
  16.         {//如果是目录
  17.             if(!is_empty_dir($pathdir.'/'.$a))//是否为空
  18.             {//如果不是,调用自身,不过是原来的路径+他下级的目录名
  19.             deltree($pathdir.'/'.$a);
  20.             }
  21.             if(is_empty_dir($pathdir.'/'.$a))
  22.             {//如果是空就直接删除
  23.             rmdir($pathdir.'/'.$a);
  24.             }
  25.         }
  26.         }
  27.         $d->close();         
  28.     echo "必须先删除目录下的所有文件";//我调试时用的
  29.     }
  30. }
  31. function is_empty_dir($pathdir)
  32. {
  33. //判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空
  34. $d=opendir($pathdir);
  35. $i=0;
  36.     while($a=readdir($d))
  37.     {
  38.     $i++;
  39.     }
  40. closedir($d);
  41. if($i>2){return false;}
  42. else return true;
  43. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表