создание и удаление директорий.

  • Автор темы spartan
  • Дата начала

spartan

Guest
создание и удаление директорий.

Здраствуйте, вопрос, мне кажется, простой но что-то я с ним никак не разберусь, помогите плиз:
мне надо просто удалить директорию на сервере, в которой лежат файлы (картинки), это выполняется оператором rmdir(), но так как она не пустая, php постит: "directory not empty"...
Как же удалить эту директорию вместе со всеми файлами в ней?, или это нельзя сделать?
Расчитываю на вашу помощь.
 

tony2001

TeaM PHPClub
>Как же удалить эту директорию вместе со всеми файлами в ней?
рекурсивно.
 

spartan

Guest
Не понимаю.
Объясни пожалуйста поподробнее.
 

tristram

Guest
PHP:
function fs_rmdir($d)
{
 $h = opendir($d);
 while ($o = readdir($h))
 {
  if (($o != ".") and ($o != ".."))
  {
   if (!is_dir($d.$o)) {unlink($d.$o);}
   else {fs_rmdir($d.$o."/"); rmdir($d.$o);}
  }
 }
 rmdir($d);
 return !is_dir($d);
}
вот тебе готовая рекурсивная функция удаления папки
 

spartan

Guest
Спасибо, сейчас попробую !

-~{}~ 06.02.05 15:42:

Все бы хорошо, да только после удаления всех файлов из директории, ее саму он удалить не может, пишет: "permission denied"...
Походу, так как директория открыта (opendir($d), ее надо закрыть, но как это сделать ?
Заранее спасибо за помощь !
 

Фанат

oncle terrible
Команда форума
а нету никаких догадок, как это сделать? ну хотя бы предположений?
как закрыть директорию, если открывание делается командой opendir?
 

tristram

Guest
PHP:
closedir($h);
сорри, я писал функцию по памяти прям в браузер и забыл про закрытие
 
Сверху