1. 程式人生 > 程式設計 >基於ThinkPHP刪除目錄及目錄檔案函式

基於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函式,如果不知道要刪除的是一個檔案還是檔案件就可以使用上面的函式

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。