今天给大家介绍一个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删除目录的情况,这个类是一个不错的选择,当然,如果你明白了这个类实现的原理,自己写一个递归删除函数也