今天给你们介绍一个php目录删除类,这个php目录删除类使用起来很方便,不管给定目录是否是为空,他均可以将它以及它的子目录所有删除。php
下面就让咱们来了解一下这个PHP目录删除类的详细内容:ide
先新建一个php文件,文件名为removeclass.inc.php。固然这个名字能够根据你的喜爱来定,只要符合命名规则并方便引用就能够了。代码以下:函数
<?phpthis
##############################################################设计
# Class removeDir递归
#rem
# 类设计目的:it
# 删除一个目录,不管目录是否是为空io
#function
#
#
# 方法:
# * 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删除目录的状况,这个类是一个不错的选择,固然,若是你明白了这个类实现的原理,本身写一个递归删除函数也