當前位置:首頁 > PHP教程 > php文件操作 > 列表

用PHP實現遍歷刪除目錄及此目錄下存放的所有文件

發布:smiling 來源: PHP粉絲網  添加日期:2020-03-02 16:18:42 瀏覽: 評論:0 

本篇文章主要講述的是使用PHP遍歷一個目錄下的所有目錄及文件,并刪除該目錄及其目錄下的所有子目錄和文件,本次代碼通過遞歸的方式來實現,感興趣的朋友來了解一下吧。

用到的函數:

scandir($path) 遍歷一個目錄下所有文件并返回數組。

unlink($filename) 刪除文件。

rmdir($path) 只刪除空文件夾。

PHP代碼:

  1. /** 
  2.  
  3.  * 刪除當前目錄及其目錄下的所有目錄和文件 
  4.  
  5.  * @param string $path 待刪除的目錄 
  6.  
  7.  * @note  $path路徑結尾不要有斜杠/(例如:正確[$path='./static/image'],錯誤[$path='./static/image/']) 
  8.  
  9.  */ 
  10.  
  11. function deleteDir($path) { 
  12.  
  13.   
  14.  
  15.     if (is_dir($path)) { 
  16.  
  17.         //掃描一個目錄內的所有目錄和文件并返回數組 
  18.  
  19.         $dirs = scandir($path); 
  20.  
  21.   
  22.  
  23.         foreach ($dirs as $dir) { 
  24.  
  25.             //排除目錄中的當前目錄(.)和上一級目錄(..) 
  26.  
  27.             if ($dir != '.' && $dir != '..') { 
  28.  
  29.                 //如果是目錄則遞歸子目錄,繼續操作 
  30.  
  31.                 $sonDir = $path.'/'.$dir
  32.  
  33.                 if (is_dir($sonDir)) { 
  34.  
  35.                     //遞歸刪除 
  36.  
  37.                     deleteDir($sonDir); 
  38.  
  39.   
  40.  
  41.                     //目錄內的子目錄和文件刪除后刪除空目錄 
  42.  
  43.                     @rmdir($sonDir); 
  44.  
  45.                 } else { 
  46.  
  47.   
  48.  
  49.                     //如果是文件直接刪除 
  50.  
  51.                     @unlink($sonDir); 
  52.  
  53.                 } 
  54.  
  55.             } 
  56. //phpfensi.com 
  57.         } 
  58.  
  59.         @rmdir($path); 
  60.  
  61.     } 
  62.  

Tags: PHP遍歷刪除目錄

分享到:

六合图库图纸印刷网