php 刪除指定擴展名文件

 1 <?php  2 /**  3  *@param $path文件夾絕對路徑 $file_type待刪除文件的後綴名  4  *return void  5  */
 6 function clearn_file($path, $file_type = 'bak')  7 {  8     //判斷要清除的文件類型是否合格
 9     if (!preg_match('/^[a-zA-Z]{2,}$/', $file_type)) { 10         return false; 11  } 12     //當前路徑是否爲文件夾或可讀的文件
13     if (!is_dir($path) || !is_readable($path)) { 14         return false; 15  } 16     //遍歷當前目錄下全部文件
17     $all_files = scandir($path); 18     foreach ($all_files as $filename) { 19         //跳過當前目錄和上一級目錄
20         if (in_array($filename, array(".", ".."))) { 21             continue; 22  } 23         //進入到$filename文件夾下
24         $full_name = $path . '/' . $filename; 25         //判斷當前路徑是不是一個文件夾,是則遞歸調用函數 26  //不然判斷文件類型,匹配則刪除
27         if (is_dir($full_name)) { 28             clearn_file($full_name, $file_type); 29         } else { 30             preg_match("/(.*)\.$file_type/", $filename, $match); 31             if (!empty($match[0][0])) { 32                 echo $full_name; 33                 echo '<br>'; 34                 unlink($full_name); 35  } 36  } 37  } 38 } 39 
40 //測試一下
41 $folderpath = $_SERVER["DOCUMENT_ROOT"] . "/abc";//要操做的目錄
42 $deltype = array('gif', 'jpg', 'pdf'); 43 foreach ($deltype as $file_type) { 44     clearn_file($folderpath, $file_type); 45 }
相關文章
相關標籤/搜索