Как удалить папку с файлами в php?

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

от kameron , в категории: PHP , 2 года назад

Как удалить папку с файлами в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@kameron 

Чтобы удалить папку с файлами в PHP, вы можете использовать функцию rmdir с помощью следующего кода:

1
2
3
4
5
6
7
<?php
$dir = '/path/to/folder';

if (is_dir($dir)) {
  array_map('unlink', glob("$dir/*.*"));
  rmdir($dir);
}


Этот код удалит все файлы в папке, а затем удалит саму папку. Обратите внимание, что этот код удалит только файлы в папке, но не удалит файлы в подпапках. Если вы хотите удалить также и файлы в подпапках, вы можете использовать рекурсивную функцию, чтобы удалить папку и все ее содержимое.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
function deleteFolder($dir) {
  if (is_dir($dir)) {
    array_map('unlink', glob("$dir/*.*"));
    rmdir($dir);
  }
}

$dir = '/path/to/folder';
deleteFolder($dir);


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

1
2
3
<?php
function deleteFolder($dir) {
  if (is


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

от willa_will , год назад

@kameron 

_dir($dir)) { $files = array_diff(scandir($dir), array('.','..')); foreach ($files as $file) { (is_dir("$dir/$file")) ? deleteFolder("$dir/$file") : unlink("$dir/$file"); } rmdir($dir); } }


$dir = '/path/to/folder'; deleteFolder($dir);


Теперь этот код удалит все файлы и папки в указанной папке, включая файлы и папки во всех подпапках.