@jerrold_langworth
Для удаления всех файлов из папки в PHP можно воспользоваться функцией glob()
для получения списка файлов, а затем циклом foreach
удалить каждый файл с помощью функции unlink()
.
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 |
$folder = '/путь/к/папке/'; // путь к папке // Получаем список файлов в папке $files = glob($folder . '*'); // Цикл по каждому файлу foreach ($files as $file) { // Удаление файла if (is_file($file)) { unlink($file); } } |
Обратите внимание, что код будет удалять только файлы, а не подпапки. Если вы хотите удалить и файлы и подпапки, вы можете использовать рекурсию, чтобы проходить по всем папкам и удалять файлы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function deleteFiles($folder) { $files = glob($folder . '*'); foreach ($files as $file) { if (is_file($file)) { unlink($file); } elseif (is_dir($file)) { deleteFiles($file . '/'); rmdir($file); } } } $folder = '/путь/к/папке/'; deleteFiles($folder); |
Здесь функция deleteFiles()
будет рекурсивно удалять все файлы и подпапки в заданной папке.
@jerrold_langworth
Данный подход адаптирован для удаления файлов из определенной папки. Есть также альтернативный способ с использованием встроенной функции PHP scandir()
, которая возвращает массив файлов и каталогов в папке:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$folder = '/путь/к/папке/'; // путь к папке // Получаем список файлов и каталогов в папке $files = scandir($folder); // Цикл по каждому файлу и каталогу foreach ($files as $file) { // Проверяем, что файл не является текущим или родительским каталогом if ($file != '.' && $file != '..') { $filePath = $folder . $file; // Удаляем файл или рекурсивно удаляем папку if (is_file($filePath)) { unlink($filePath); } elseif (is_dir($filePath)) { deleteFiles($filePath . '/'); rmdir($filePath); } } } |
Этот вариант аналогично рекурсивно обрабатывает файлы и подкаталоги в указанной папке для удаления. Оба метода могут быть использованы в зависимости от того, что удобнее и эффективнее в конкретной ситуации.