我有一个这样的页面结构:
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
文件和其他文件。
参考: http://php.net/manual/en/function.rmdir.php