三种php删除指定目录下所有文件与目录
三种php教程删除指定目录下所有文件与目录
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<br />n";
}
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo "成功删除目录: $dirName<br />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<br />n";
}
}
}
closedir( $handle );
}
}
delDirAndFile( 'www.zzzyk.com');
//上面三种删除目录与目录下所有文件与空目录的实例,都是以遍历来做,也就是递归来一个个讲再判断就OK了。
补充:Php教程,Php常用代码