Я пытаюсь удалить файлы, которые включают только расширения такого типа.
Скажем папка 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";
}
?>
например Чтобы удалить все текстовые файлы, вы можете использовать его следующим образом:
<?php echo delete_recursively_('/home/username/directory/', '.txt'); ?>
Других решений пока нет …