删除目录后PHP标头位置不重定向

时间:2015-07-21 23:32:04

标签: php redirect

我有一个按钮,我的用户可以删除他们创建的某个目录。他们进入确认页面,当他们选择"是"时,此代码被激活:

$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");放入上述所有三个位置,但它从未重定向。当我手动转到页面时,该目录将被删除。我的问题是为什么它不会自动重定向?

1 个答案:

答案 0 :(得分:0)

return rmdir(...) header(....)

您已经返回,因此永远不会发送标题

正确的代码:

rmdir(...);
header(...);
return;

也在最后一行,这个是不必要的