簡體   English   中英

會遞歸刪除與特定文件擴展名匹配的文件嗎?

[英]Deleting files matching a specific file extension recursivly?

我想刪除與指定目錄和所有子樹中的特定擴展名匹配的所有文件。 我想我應該使用unlink,但是會非常感謝一些幫助...謝謝!

您需要結合使用

遞歸文件搜索(PHP)

unlink / delete

您應該能夠編輯示例而不是回顯文件,然后將其刪除

要從子目錄中刪除特定的擴展名文件,可以使用以下功能。 例:

<?php 
function delete_recursively_($path,$match){
   static $deleted = 0,
   $dsize = 0;
   $dirs = glob($path."*");
   $files = glob($path.$match);
   foreach($files as $file){
      if(is_file($file)){
         $deleted_size += filesize($file);
         unlink($file);
         $deleted++;
      }
   }
   foreach($dirs as $dir){
      if(is_dir($dir)){
         $dir = basename($dir) . "/";
         delete_recursively_($path.$dir,$match);
      }
   }
   return "$deleted files deleted with a total size of $deleted_size bytes";
}
?>

例如,要刪除所有文本文件,可以按以下方式使用它:

<?php echo delete_recursively_('/home/username/directory/', '.txt'); ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM