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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM