php删除非空目录自定义函数
php删除非空目录自定义函数
//循环删除目录和文件函数代码如下 | |
function delDirAndFile( $dirName ) { if ( $handle = opendir( “$dirName” ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != “.” && $item != “..” ) { if ( is_dir( “$dirName/$item” ) ) { delDirAndFile( “$dirName/$item” ); } else { if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item n”; } } } closedir( $handle ); if( rmdir( $dirName ) )echo “成功删除目录: $dirName n”; } } ?> |
//循环目录下的所有文件
代码如下 | |
function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” ) { if ( $handle = opendir( “$dirName” ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != “.” && $item != “..” ) { if ( is_dir( “$dirName/$item” ) ) { delFileUnderDir( “$dirName/$item” ); } else { if( unlink( “$dirName/$item” ) )echo “成功删除文件: $dirName/$item n”; } } } closedir( $handle ); } } ?> |
目录删除函数
代码如下 | |
function my_del_dir($directory) { if (is_dir($directory) == false) { exit("The Directory Is Not Exist!"); } $handle = opendir($directory); while (($file = readdir($handle)) !== false) { if ($file != "." && $file != "..") { is_dir("$directory/$file")? my_del_dir("$directory/$file"): unlink("$directory/$file"); } } if (readdir($handle) == false) { closedir($handle); rmdir($directory); } } ?> |
自己写的一个
$sourceDir 要删除的目录路径
调用方法 DeleteDir(“images/abc”); //删除abc目录
代码如下 | |
function DeleteDir($sourceDir){ $succeed = true; if(file_exists($sourceDir)){ $objDir = opendir($sourceDir); while(false !== ($fileName = readdir($objDir))){ if(($fileName != “.”) && ($fileName != “..”)){ chmod(“$sourceDir/$fileName”,0777); if(!is_dir(“$sourceDir/$fileName”)){ if(!unlink(“$sourceDir/$fileName”)){ $succeed = false; break; } } else{ DeleteDir(“$sourceDir/$fileName”); } } } if(!readdir($objDir)){ closedir($objDir); if(!rmdir($sourceDir)){ $succeed = false; } } } return $succeed; } |