欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ThinkPHP删除目录及目录下文件的函数【转】

程序员文章站 2023-01-25 12:32:01
1、删除目录及目录下所有的文件 2、删除目录下的所有文件但目录结构保留 3、删除指定文件 贴代码 这个函数和unlink有什么不一样?如果知道要删除的是一个文件可以直接使用unlink函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数 原文链接: "http://www.thinkph ......

1、删除目录及目录下所有的文件

2、删除目录下的所有文件但目录结构保留

3、删除指定文件
贴代码

/**
  +-----------------------------------------------------------------------------------------
 * 删除目录及目录下所有文件或删除指定文件
  +-----------------------------------------------------------------------------------------
 * @param str $path   待删除目录路径
 * @param int $deldir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
  +-----------------------------------------------------------------------------------------
 * @return bool 返回删除状态
  +-----------------------------------------------------------------------------------------
 */
function deldirandfile($path, $deldir = false) {
    if (is_array($path)) {
        foreach ($path as $subpath)
            deldirandfile($subpath, $deldir);
    }
    if (is_dir($path)) {
        $handle = opendir($path);
        if ($handle) {
            while (false !== ( $item = readdir($handle) )) {
                if ($item != "." && $item != "..")
                    is_dir("$path/$item") ? deldirandfile("$path/$item", $deldir) : unlink("$path/$item");
            }
            closedir($handle);
            if ($deldir)
                return rmdir($path);
        }
    } else {
        if (file_exists($path)) {
            return unlink($path);
        } else {
            return false;
        }
    }
    clearstatcache();
}

这个函数和unlink有什么不一样?如果知道要删除的是一个文件可以直接使用unlink函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数

原文链接: