Всем доброго времени суток. У меня есть вопрос: возможно ли удалить одну из папок сайта после определенного числа. Т.Е. есть главная страница "index.php", расположенной в папке WWW. В этой же папке находится папка "office", в которой расположен защищенный раздел сайта. Как удалить данный раздел по дате, например если дата будет равна 1.09.2011 или позднее (т.е. после 1.09.2011) Одним словом, при входе на страницу "index.php", надо сравнить дату и если дата равна или превышает заданное число - удалить раздел "office". Как правильно это сделать средствами РНР, или надо это сделать с помощью JS?
if(date('Y-m-d'>='2011-09-01') rmdirx('office'); rmdirx: PHP: рекурсивное удаление папки со всем содержимым.
Попробовал - не работает. Помещаю строку на стриницу index, и просто вместо страницы грузится делое поле (чистый лист), не взирая на дату, устанавливаемую в скрипте. Почему так?
потому что у вас скорее всего не поддерживается rmdirx. она не нативная - это расширение PHP: <?php function rmdirx($dir){ $list=glob($dir.'*',GLOB_MARK); foreach($list as $item){ if(is_dir($item)){ rmdirx($item); }else unlink($item); } if(is_dir($dir)) rmdir($dir); } ?>
titch Все равно не работает. Команда rmdirx не распознается как команда (т.е. Адобе не окрашивает команду в синий цвет, а пишет в черном цвете), так же и в строке if(date('Y-m-d'>='2011-09-01') rmdirx('office'); происходит тоже самое, мало того Адобе пишет что в данной строке есть ошибка синтаксиса.
tommyangelo Попробовал и так. Сейчас страница грузится, но и каталог "office" никуда не делся (я переставил в коде месяц на апрель) Попробовал вместо "office" задавать полный путь к папке. Тогда все повторяется - перестает грузиться страница в основном каталоге. Что я делаю не так?
Спасибо огромное Shumomer, titch и tommyangelo. Главное, что я понял - каким образом можно удалить каталог (не пустой), хоть и с помощью другой функции, но смысл тот же: Код (Text): <? if(date('Y-m-d')>='2011-09-01') rmdir_recursive('office');?> <?php function rmdir_recursive($dir) { $files = scandir($dir); array_shift($files); // remove '.' from array array_shift($files); // remove '..' from array foreach ($files as $file) { $file = $dir . '/' . $file; if (is_dir($file)) { rmdir_recursive($file); if (is_dir($file)) rmdir($file); } else { unlink($file); } } rmdir($dir); } ?> Эта реально работает. Тему можно закрыть.[/code]