教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 网站编程 > PHP教程 >

php三种删除指定目录和文件的方法

时间:2012-08-22 22:13来源:未知 作者:ken 点击:

方法一:删除指定目录下所有文件与目录

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

站长教学网 eduyo.com

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

(责任编辑:ken)
TAG标签: php 文件 目录
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容