我似乎无法找到答案,直到我发现这个帖子 http://www.php.net/manual/en/function.exit.php#90713 on exit
在 php.net 上。
发送“Location:”标头 PHP 后will继续解析,header()调用下面的所有代码仍然会被执行。
这是有效的吗?
进一步提出这个问题,如果它有效,它会留下什么好处exit
输出(并让其余代码运行)?
是的,这是有效的。 header() 函数只是将标头与页面的其余部分一起发送到浏览器,告诉浏览器进行重定向。如果您不希望脚本继续运行,那么您应该执行以下操作exit
or die
.
在某些情况下,您可能还希望脚本继续运行,具体取决于脚本。您可能会跟踪页面点击率或其他内容,并且您可能会将代码插入到每个页面底部包含的数据库中。如果您希望它在重定向之前跟踪点击,那么您就不会想要exit
early.
您可能想要继续运行代码的另一种情况是,如果您有一个定时重定向标头,并且想要向用户显示一些内容,例如Redirect to: http://xxxxxx http://xxxxxx in 5 seconds
。因此他们有机会在重定向之前查看浏览器的去向。不过,如果您将它们重定向到完全不同的网站,您可能只想这样做。
大多数情况下你确实想要exit
因为在这种情况下您可能不想向浏览器输出任何内容,并且额外的代码只会减慢您的重定向速度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)