Как удалить все файлы в папке на PHP?

Пользователь

от hoyt.jerde , в категории: PHP , 3 года назад

Как удалить все файлы в папке на PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@hoyt.jerde Используйте scandir() функцию, чтобы получить список файлов и папок внутри заданной директории и затем используйте foreach цикл и функцию unlink(), чтобы удалить все файлы в заданной папке на PHP, пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<?php

// Директория
$dir = "/tmp";

$files = scandir($dir);

foreach ($files as $file) {
    // Проверяем что это файл и не директория
    if (is_file($dir . '/' . $file)) {
        unlink($file);
    }
}


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от gage , 2 года назад

@hoyt.jerde 

Чтобы удалить все файлы в папке на PHP, можно использовать функцию array_map() в сочетании с unlink().

1
2
$files = glob('path/to/folder/*'); // получаем список файлов в папке
array_map('unlink', $files); // удаляем файлы


Если вы хотите удалить только файлы, а не папки, можно добавить фильтр is_file в array_map

1
2
3
$files = glob('path/to/folder/*'); 
$files = array_filter($files, 'is_file'); 
array_map('unlink', $files);


Обратите внимание, что это будет удалять все файлы в папке без подтверждения и без возможности восстановления. Будьте осторожны при использовании этого кода.