Робота з файлами php (пошук, видалення)

Last update: 10 Березня, 2023

Category: PHP code examples

Пошук за назвою файлу та видалення:

$directory = 'from_dir/'; // Директорія, звідки будемо починати роботу, якщо директорія файла то './'
$file = 'filename.png'; // Назва файлу, який будемо видаляти
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
while($it->valid()){
    if (!$it->isDot()) {
        if($it->getFilename() == $file){
            unlink($it->key());
        }
    }
    $it->next();
}

 

А ось це не перевірений код, але має працювати:

$path = __DIR__;

$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
$allFiles = array_filter(iterator_to_array($iterator), function($file) {    
    return $file->isFile() && in_array($file->getExtension(), ['md', 'txt', 'json']);
});

foreach ($allFiles as $file) {
    unlink($file->getPathname());
}

Цей код спочатку створює список того що потрібно видалити, а потім вже йде по списку та видаляє.