澳门新葡萄京娱乐场三种php删除指定目录下所有文件与目录

第一个是从手册中翻出来的
:)第二个是codebit.cn上面收集的,还是手册里的好?phpfunction
remove_directory($dir) { if ($handle = opendir($dir)) { while (false
!== ($item = readdir($handle))) { if ($item != . $item != ..) { if
(is_dir($dir/$item)) { remove_directory($dir/$item); } else {
unlink($dir/$item); echo removing $dir/$itembrn; } } }
closedir($handle); rmdir($dir); echo removing $dirbrn; }}function
removeDir($dirName){ if(! is_dir($dirName)) { return false; } $handle =
@opendir($dirName); while(($file = @readdir($handle)) !== false) {
if($file != ”.” $file != ”..”) { $dir = $dirName . ”/” . $file;
is_dir($dir) ? removeDir($dir) : @unlink($dir); } } closedir($handle);
return rmdir($dirName) ;}?<

 来源:
澳门新葡萄京娱乐场 ,<?php
$file = “test.txt”;
if (!unlink($file))
{
echo (“Error deleting $file”);
}
else
{
echo (“Deleted $file”);
}
?>

 代码如下

php可以获得站点的根目录
function GetRootPath()
{
$sRealPath = realpath( ‘./’ ) ;

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);
}

$sSelfPath = $_SERVER[‘PHP_SELF’] ;
$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, ‘/’ ) ) ;

//实例二

return substr( $sRealPath, 0, strlen( $sRealPath ) – strlen( $sSelfPath
) ) ;
}

//循环删除目录和文件函数

通过$_SERVER[“DOCUMENT_ROOT”]变量取虚拟目录

 代码如下

function removeDir($dirName)
{
$result = false;
if(! is_dir($dirName))
{
trigger_error(“目录名称错误”, E_USER_ERROR);
}
$handle = opendir($dirName);
while(($file = readdir($handle)) !== false)
{
if($file != ‘.’ && $file != ‘..’)
{
$dir = $dirName . DIRECTORY_SEPARATOR . $file;
is_dir($dir) ? removeDir($dir) : unlink($dir);
}
}
closedir($handle);
$result = rmdir($dirName) ? true : false;
return $result;
}

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 /> “;
   }
   }
   }
   closedir( $handle );
   if( rmdir( $dirName ) )echo “成功删除目录: $dirName<br /> “;
}
}

<?php

// 实例三

function remove_directory($dir) {
if ($handle = opendir(“$dir”)) {
while (false !== ($item = readdir($handle))) {
if ($item != “.” && $item != “..”) {
if (is_dir(“$dir/$item”)) {
remove_directory(“$dir/$item”);
} else {
unlink(“$dir/$item”);
echo ” removing $dir/$item<br>n”;
}
}
}
closedir($handle);
rmdir($dir);
echo “removing $dir<br>n”;
}
}

 代码如下

function removeDir($dirName)
{
if(! is_dir($dirName))
{
return false;
}
$handle = @opendir($dirName);
while(($file = @readdir($handle)) !== false)
{
if($file != ‘.’ && $file != ‘..’)
{
$dir = $dirName . ‘/’ . $file;
is_dir($dir) ? removeDir($dir) : @unlink($dir);
}
}
closedir($handle);

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 /> “;
   }
   }
   }
   closedir( $handle );
}
}

return rmdir($dirName) ;
}
?>

delDirAndFile( ‘www.111cn.net’);

//上面三种删除目录与目录下所有文件与空目录的实例,都是以遍历来做,也就是递归来一个个讲再判断就OK了。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注