刪除文件

php遍歷一個文件夾內的全部文件和文件夾,並刪除全部文件夾和子文件夾下的全部文件的代碼,經過遞歸方式實現達到清空一個目錄的效果,代碼簡單實用。php

也適合在thinkphp中清理緩存,在thinkphp中能夠把下面代碼寫入./Application/Admin/Common/function.php文件中,再在控制器調用這個函數進行清理操做。thinkphp

用到的函數:數組

scandir($path)    遍歷一個文件夾全部文件並返回數組。
unlink($filename)    刪除文件。
rmdir($path)    只刪除空文件夾
<?php
  //設置須要刪除的文件夾
  $path = "./Application/Runtime/";

  //清空文件夾函數和清空文件夾後刪除空文件夾函數的處理
  function deldir($path)
  {
    //若是是目錄則繼續
    if(is_dir($path))
    {
      //掃描一個文件夾內的全部文件夾和文件並返回數組
      $p = scandir($path);
      foreach($p as $val)
      {
        //排除目錄中的.和..
        if($val !="." && $val !="..")
        {
          //若是是目錄則遞歸子目錄,繼續操做
          if(is_dir($path.$val))
          {
            //子目錄中操做刪除文件夾和文件
            deldir($path.$val.'/');
            //目錄清空後刪除空文件夾
            @rmdir($path.$val.'/');
          }else{
            //若是是文件直接刪除
            unlink($path.$val);
          }
        }
      }
    }
  }
  
  //調用函數,傳入路徑
  deldir($path);
相關文章
相關標籤/搜索