今天给大家介绍一个php目录删除类,这个php目录删除类使用起来很方便,无论给定目录是不是为空,他都可以将它以及它的子目录全部删除。

下面就让我们来了解一下这个PHP目录删除类的详细内容:

先新建一个php文件,文件名为removeclass.inc.php。当然这个名字可以根据你的喜好来定,只要符合命名规则并方便引用就可以了。代码如下:


   <?php

##############################################################

# Class removeDir


#

#  类设计目的:

#  删除一个目录,无论目录是不是为空

#

#

#

#  方法:

#  * removeDir()           - 构造函数

#  * isEmpty($path)    - 判断目录是不是为空

#  * deleteDir([$dirnm])        - 删除目录以及子目录

##############################################################


class removeDir

{

 private $dirnm;

 function removeDir(){} //构造函数

 function isEmpty($path) //判断目录是否为空

 {

  $handle = opendir($path);

  $i = 0;

  while(false !== ($file = readdir($handle)))

   $i++;

  closedir($handle);

  if($i >= 2)

   return false;

  else

   return true;

 }


 function deleteDir($dirnm) //删除目录以及子目录的内容

 {

  $d = dir($dirnm);

  while(false !== ($entry = $d->read()))

  {

   if($entry == '.' || $entry == '..')

    continue;

   $currele = $d->path.'/'.$entry;

   if(is_dir($currele))

   {

    if($this->isEmpty($currele))

     @rmdir($currele);

    else

     $this->deleteDir($currele);

   }

   else

    @unlink($currele);

  }

  $d->close();

  rmdir($dirnm);

  return true;

 }

}

?>

这个php目录删除类使用起来很简单,举个例子,新建一个php文件:


include("removeclass.inc.php");//将php目录删除类引用进来 


 $obj=new removeDir(); //实例化php目录删除类 


 $obj->deleteDir("../testing/"); //调用删除方法,删除上级目录下的testing文件夹


类很简单,相信大家很容易就能看懂,在你工作的过程中,如果遇到使用php删除目录的情况,这个类是一个不错的选择,当然,如果你明白了这个类实现的原理,自己写一个递归删除函数也