У меня есть структура страницы:
domain.com/index.php domain.com/setup/index.php domain.com/setup/setup.php
На странице /setup/index.php
которая выглядит так:
<form action="" method="post"> <input type="submit" name="finishSubmit" value="Finish" /> </form>
Когда эта форма отправлена, я хочу, чтобы каталог /setup/
был удален, а также его дети index.php
и setup.php
. После этого мне нужно перенаправить его на domain.com/index.php
Я пробовал использовать rmdir
следующим образом:
if (isset($_POST['finishSubmit'])) { rmdir('../setup'); header ('location: ../'); }
Либо я использую его неправильно, либо я ошибаюсь, но он не работает. Каков правильный способ сделать это?
ПРИМЕЧАНИЕ. Мне нужно использовать относительные пути, такие как выше, потому что я не буду знать доменное имя.
rmdir()
требует, чтобы каталог был пустым. Вы можете использовать эту функцию для удаления файлов в папке, а затем удалить папку после.
<?PHP function delete_files($target) { if(is_dir($target)){ $files = glob( $target . '*', GLOB_MARK ); foreach( $files as $file ) { delete_files( $file ); } rmdir( $target ); } elseif(is_file($target)) { unlink( $target ); } } ?>
Функция PHP rmdir
работает только для пустых каталогов.
Перед удалением каталога вам нужно будет удалить файл index.php
и другие файлы.