今天给大家介绍一个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删除目录的情况,这个类是一个不错的选择,当然,如果你明白了这个类实现的原理,自己写一个递归删除函数也
共同学习,写下你的评论
评论加载中...
作者其他优质文章