zoukankan      html  css  js  c++  java
  • ThinkPHP删除目录及目录下文件的函数【转】

    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函数,如果不知道要删除的是一个文件还是文件件就可以使用上面的函数

    原文链接: http://www.thinkphp.cn/code/138.html

  • 相关阅读:
    Docker 入门
    python3模块: sys
    Python sys os getpass 包的导入
    Python3模块: hashlib
    python3异常处理 try
    python3模块: uuid
    python3 内置函数详解
    servlet/和/*匹配的区别
    [转]任何程序员应该记住的性能指标
    [转]使用CMS垃圾收集器产生的问题和解决方案
  • 原文地址:https://www.cnblogs.com/KillBugMe/p/11850491.html
Copyright © 2011-2022 走看看