php 删除目录下的文件及只删除文件保留目录

来源:互联网 发布:js新建数组对象 编辑:程序博客网 时间:2024/05/17 05:19
/**
 * 删除目录及目录下所有文件或删除指定文件
 * @param str $path   待删除目录路径
 * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录)
 * @return bool 返回删除状态
 */
function delDirAndFile($path, $delDir = FALSE) {
    $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;
        }
    }

}

/**
 * 删除目录下所有文件
 * @param str $path   待删除目录路径
 * @param int $delDir 是否删除当前目录
 */
function delFile($path, $delDir=false) {
        $op = opendir($path);
        if ($op) {
            while(false !== ( $item = readdir($op) )) {
                if($item == '.' || $item == '..') {
                    continue;
                }
                if(is_dir($path.'/'.$item)) {
                    $this->delFile($path.'/'.$item, true);
                }else {
                    unlink($path.'/'.$item);
                }
            }
            closedir($op);
            if ($delDir){
                return rmdir($path.'/'.$item);
            }
        }
          
    }


原创粉丝点击