代码如下 复制代码
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了。