PHP:标头替代?

时间:2013-06-27 00:31:44

标签: php javascript

我想知道回调以下内容是否是使用header(“Location:index.html”)而不必使用output_buffering的好方法

echo "<script type='text/javascript>window.location = 'index.html';</script>";

有时候我想在一个正文中重定向,上面的工作是否正常或是否值得打开output_buffering选项而只是用户头()?

4 个答案:

答案 0 :(得分:2)

只需使用header(),这是正确的方法。

但您不需要使用输出缓冲。构建“body”字符串并将其放入变量(不要回显东西)。然后使用标题,如果你必须。在脚本的最后一行中,您将回显body变量(如果您没有使用标题重定向)

答案 1 :(得分:1)

header()定义用户正在查看的页面。使用输出缓冲强制忽略先前的输出缓冲区,因此它不被认为是重定向的有效方式。所以,这是我的建议

  1. 如果唯一目标是重定向,请确保在执行header语句之前不输出任何内容。在这种情况下,header是合适的。

  2. 如果您需要显示您的页面并根据用户需要重定向到不同的页面,请使用JavaScript重定向。

答案 2 :(得分:0)

请记住,使用标题不能启动屏幕输出,否则标题将无效,如果关闭JavaScript,JavaScript版本将无效。我个人认为标题是更安全的选择,但我认为这可能取决于个人观点!

答案 3 :(得分:0)

如果由于某种原因,你想避免输出缓冲,你的想法就会起作用。