我有一个按钮,我的用户可以删除他们创建的某个目录。他们进入确认页面,当他们选择"是"时,此代码被激活:
$fileName=$_POST['filename'];
$siteName=$_POST['sitename'];
$user=$_POST['user'];
$subdir=$_POST['subdir'];
if ($subdir=="yes") {
$dirName=$_POST['dirname'];
$path="../s/{$siteName}/{$dirName}";
if (is_dir($path) === true)
{
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::CHILD_FIRST);
foreach ($files as $file)
{
if (in_array($file->getBasename(), array('.', '..')) !== true)
{
if ($file->isDir() === true)
{
rmdir($file->getPathName());
}
else if (($file->isFile() === true) || ($file->isLink() === true))
{
unlink($file->getPathname());
}
}
}
return rmdir($path);
header("location:edit.php?action=edit&user=$myusername");
}
else if ((is_file($path) === true) || (is_link($path) === true))
{
return unlink($path);
}
header("location:edit.php?action=edit&user=$myusername");
}
header("location: edit.php?action=edit&user=$myusername");
我已尝试将header("location: edit.php?action=edit&user=$myusername");
放入上述所有三个位置,但它从未重定向。当我手动转到页面时,该目录将被删除。我的问题是为什么它不会自动重定向?
答案 0 :(得分:0)
return rmdir(...)
header(....)
您已经返回,因此永远不会发送标题
正确的代码:
rmdir(...);
header(...);
return;
也在最后一行,这个是不必要的