Аяяйка
Новичок
Рекурсивный спуск
Здравствуйте,
Ниже представлен скрипт, "Рекурсивная функция удаления каталога с произвольной степенью вложенности".
Как я понял скрипт должен удалять все что находиться в папке TEMP (папки, подкаталоги, файлы)?
Допустим, у нас есть следующая иерархия:
temp/
каталог1/
..........кат11/
...............кат111/
...............файл111
..........кат12/
...............файл121
каталог2
файл3
Так вот это алгоритм, насколько я понимаю алгоритм пройдет следующий путь -> ТЕМП/каталог1/кат11/кат111/
а в остальные даже не заглянет... Правильно?
Код может содержать неточности, так как скопирован из акробата
Здравствуйте,
Ниже представлен скрипт, "Рекурсивная функция удаления каталога с произвольной степенью вложенности".
Как я понял скрипт должен удалять все что находиться в папке TEMP (папки, подкаталоги, файлы)?
Допустим, у нас есть следующая иерархия:
temp/
каталог1/
..........кат11/
...............кат111/
...............файл111
..........кат12/
...............файл121
каталог2
файл3
Так вот это алгоритм, насколько я понимаю алгоритм пройдет следующий путь -> ТЕМП/каталог1/кат11/кат111/
а в остальные даже не заглянет... Правильно?
Код может содержать неточности, так как скопирован из акробата
PHP:
// Рекурсивная функция удаления каталога
/ / с произвольной степенью вложенности
function full_del_dir($directory)
{
$dir = opendir($directory);
while(($file - readdir($dir)))
// Если функция readdir() вернула файл, удаляем его
if(is_file("$directory/$file")) unlink("$directory/$file");
// Если функция readdir() вернула каталог и он
//не равен текущему или родительскому, осуществляем
// рекурсивный вызов full_del_dir() для этого каталога
else if (is_dir("$directory/$file") &&
$file != "." &&
$file != "..")
{
full_del_dir("$directory/$file") ;
closedir($dir); // А эти строчки вообще доходят до исполнения после оператора full_del_dir("$directory/$file") ; !!!!!????
rmdir($directory);
echo("Каталог успешно удален");
}
full__del_dir ("temp") ;