php递归删除目录,文件夹
php 递归删除目录(文件夹)下面举了两个实例,一个是删除单独的空目录代码,一个是批量删除目录文件夹的代码.
删除单个空文件夹,代码如下:
- $dir = 'www.phpfensi.com';
- if( is_dir( $dir ) ) //判断是否为目录
- {
- if( rmdir( $dir ) )
- {
- echo '目录删除成功';
- }
- else
- {
- echo '没有删除目录的权限';
- }
- }
- else
- {
- echo '不是一个有效的目录';
- }
下面来看一个批量递归删除目录的函数吧,代码如下:
- 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> ";
- }else{
- echo "目录<b>$dir</b>删除失败!<br> ";
- }
- }
测试程序:
$dir="/var/www/test";
deletedir($dir);