PHP中删除目录的三种方法_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP中删除目录的三种方法

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:方法目录删除&
黑客防线网安网讯:  PHP本身有一个rmdir()函数可以用来删除目录,不过要求必须是空目录,本文列举了三种方法。1、递规法;2、系统调用法;3、循环法。    1、递规法:利用递归一层一层的删。    de...
  PHP本身有一个rmdir()函数可以用来删除目录不过要求必须是空目录本文列举了三种方法1、递规法;2、系统调用法;3、循环法
  
  1、递规法:利用递归一层一层的删。
  
  deleteDir($dir)
  
  {
  
  if(rmdir($dir)==false&&is_dir($dir)){
  
  if($dp=opendir($dir)){
  
  while(($file=readdir($dp))!=false){
  
  if(is_dir($file)&&$file!='.'&&$file!='..'){
  
  deleteDir($file);
  
  }else{
  
  unlink($file);
  
  }
  
  }
  
  closedir($dp);
  
  }else{
  
  exit('Notpermission');
  
  }
  
  }
  
  }
  
  2、系统调用法
  
  functiondel_dir($dir)
  
  {
  
  if(strtoupper(substr(PHP_OS,0,3))=='WIN'){
  
  $str="rmdir/s/q".$dir;
  
  }else{
  
  $str="rm-Rf".$dir;
  
  }
  
  }
  
  3、循环法
  
  functiondeltree($pathdir)
  
  {
  
  echo$pathdir;//调试时用的
  
  if(is_empty_dir($pathdir))//如果是空的
  
  {
  
  rmdir($pathdir);//直接删除
  
  }
  
  else
  
  {//否则读这个目录,除了.和..外
  
  $d=dir($pathdir);
  
  while($a=$d->read())
  
  {
  
  if(is_file($pathdir.'/'.$a)&&($a!='.')&&($a!='..')){unlink($pathdir.'/'.$a);}
  
  //如果是文件就直接删除
  
  if(is_dir($pathdir.'/'.$a)&&($a!='.')&&($a!='..'))
  
  {//如果是目录
  
  if(!is_empty_dir($pathdir.'/'.$a))//是否为空
  
  {//如果不是,调用自身,不过是原来的路径+他下级的目录名
  
  deltree($pathdir.'/'.$a);
  
  }
  
  if(is_empty_dir($pathdir.'/'.$a))
  
  {//如果是空就直接删除
  
  rmdir($pathdir.'/'.$a);
  
  }
  
  }
  
  }
  
  $d->close();
  
  echo"必须先删除目录下的所有文件";//我调试时用的
  
  }
  
  }
  
  functionis_empty_dir($pathdir)
  
  {
  
  //判断目录是否为空
  
  $d=opendir($pathdir);
  
  $i=0;
  
  while($a=readdir($d))
  
  {
  
  $i++;
  
  }
  
  closedir($d);
  
  if($i>2){returnfalse;}
  
  elsereturntrue;
  
  }
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17341-1.html
网站维护教程更新时间:2012-09-21 05:17:02  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer