Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中删除具有此类扩展名的文件?_Php_Codeigniter_Unlink - Fatal编程技术网

如何在php中删除具有此类扩展名的文件?

如何在php中删除具有此类扩展名的文件?,php,codeigniter,unlink,Php,Codeigniter,Unlink,我想做的是,删除只包含此类扩展名的文件 假设一个文件夹Images/包含以下文件 a.jpg b.jpeg c.php d.php2 c.png 所以现在我只想删除那些c.php,d.php2。有没有办法一步到位或者有什么想法 注意:在这种情况下,我不知道文件的确切名称或扩展名 提前感谢。要从子目录中删除特定的扩展名文件,可以使用以下功能。例如: <?php function delete_recursively_($path,$match){ static $deleted =

我想做的是,删除只包含此类扩展名的文件

假设一个文件夹
Images/
包含以下文件

a.jpg
b.jpeg
c.php
d.php2
c.png
所以现在我只想删除那些
c.php,d.php2
。有没有办法一步到位或者有什么想法

注意:在这种情况下,我不知道文件的确切名称扩展名


提前感谢。

要从子目录中删除特定的扩展名文件,可以使用以下功能。例如:

<?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";
}
?>

e、 g.要删除所有文本文件,可按如下方式使用:

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

要从子目录中删除特定的扩展名文件,可以使用以下功能。例如:

<?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";
}
?>

e、 g.要删除所有文本文件,可按如下方式使用:

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


你可以遍历一个目录,然后用正则表达式检查每个文件名是否匹配(假设你有一个模式)。嗨,克里斯,如果我在一个文件夹中有1000多个图像,并且我决定每小时放置一个cron,这会影响性能吗?我不这么认为,不过我会做一些测试来确认这一点。你可以在一个目录上迭代,然后用正则表达式检查每个文件名是否匹配(假设你有一个模式)。嗨,克里斯,如果我在一个文件夹中有1000多个图像,我决定每小时放一个cron,这会影响性能吗?我不这么认为,我会做测试来确认这一点。