php递归删除目录的例子
用php删除一个空目录相当简单了,用rmdir() 函数即可搞定。
但是要删除一个非空目录,则无法进行快速的删除,必须先将目录中文件删除,但是目录里可能还会有子目录,因此我们需要进行递归删除。
下面是一个递归删除目录的例子。
文件名:del_files.php
function deletedir($dir){
if(!handle=@opendir($dir)){ //检测要打开目录是否存在
die("没有该目录");
}
while(false !==($file=readdir($handle))){
if($file!=="."&&$file!==".."){ //排除当前目录与父级目录
$file=$dir .DIRECTORY_SEPARATOR. $file;
if(is_dir($file)){
deletedir($file);
}else{
if(@unlink($file)){
echo "文件<b>$file</b>删除成功。<br>";
}else{
echo "文件<b>$file</b>删除失败!<br>";
}
}
}
if(@rmdir($dir)){
echo "目录<b>$dir</b>删除成功了。<br>\n";
}else{
echo "目录<b>$dir</b>删除失败!<br>\n";
}
}
//测试程序
$dir="/var/www/test";
deletedir($dir);
?>
在 /var/www/test 文件夹下创建一些文件夹和文件。
shell> touch aaa
shell> touch bbb
shell> touch ccc
shell> touch eee
shell> touch ffff
shell> mkdir 111
shell> mkdir 222
shell> mkdir 333
分别再在111,222,333 文件夹下创建一些文件,然后给予权限。
shell>chown www.www test -R
然后运行del_files.php,检测递归删除目录的效果。
>>> 您可能感兴趣的文章:
删除指定文件夹中所有文件的php代码
php递归创建目录小例子
PHP删除N分钟前创建的所有文件的小例子
php删除目录下N天前所有文件的代码一例
php 删除记录同时删除图片文件的代码
用PHP实现遍历删除目录及此目录下存放的所有文件
php目录遍历与删除的代码一例
PHP递归算法实例解析
Php删除指定文件与文件夹的方法
dos中RD命令递归删除目录的方法