ThinkPHP刪除目錄及目錄下文件的函數【轉】

一、刪除目錄及目錄下全部的文件php

二、刪除目錄下的全部文件但目錄結構保留html

三、刪除指定文件
貼代碼thinkphp

/**
  +-----------------------------------------------------------------------------------------
 * 刪除目錄及目錄下全部文件或刪除指定文件
  +-----------------------------------------------------------------------------------------
 * @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.htmlcode

相關文章
相關標籤/搜索