前面因项目需求需要利用php创建多级目录,那么有创建就必须有删除了,我们都知道php系统自带的函数里面是有删除目录的函数的,如rmdir(),该函数语法原型如:rmdir(dir,context),即尝试删除 dir 所指定的目录。但该目录 dir 必须是空的。这就存在一个问题了,当目录里面有内容的时候或者目录还有目录的时候,当我们确定该目录及该目录下的所有文件和目录都没有存在的意义的时候,我们要删除这个目录该怎么办呢?简简单单的rmdir()函数已经不能满足我们的需求了,于是乎就有了下面这个函数的诞生了,下面这个函数将会直接删除你需要指定删除的目录,里面存在文件或者存在多级目录的,都会毫不留情的被它干掉了,呵呵,直接上代码了。
function rmdirs($dir){ $d=dir($dir); while (false!==($child=$d->read())){//这部分代码是清除目录里面的所有文件的 if($child!='.'&&$child!='..'){ if(is_dir($dir.'/'.$child)){ rmdirs($dir.'/'.$child); }else{ unlink($dir.'/'.$child); } } } $d->close(); rmdir($dir);//清除目录 }