作者:书友49916066 | 来源:互联网 | 2018-07-16 17:52
代码如下 |
|
function DeltreeDir($dir) {
$dir = realpath($dir);
if (!$dir || !@is_dir($dir))
return 0;
$handle = @opendir($dir);
if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR)
$dir .= DIRECTORY_SEPARATOR;
while ($file = @readdir($handle)) {
if ($file != '.' && $file != '..') {
if (@is_dir($dir . $file) && !is_link($dir . $file))
DeltreeDir($dir . $file);
else
@unlink($dir . $file);
}
}
closedir($handle);
@rmdir($dir);
} |
//实例二
//循环删除目录和文件函数
代码如下 |
|
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 ";
}
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo "成功删除目录: $dirName ";
}
} |
// 实例三
代码如下 |
|
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 ";
}
}
}
closedir( $handle );
}
} |
delDirAndFile( 'www.111cn.net');
//上面三种删除目录与目录下所有文件与空目录的实例,都是以遍历来做,也就是递归来一个个讲再判断就OK了。