gpt4 book ai didi

php - 我什么时候应该在没有 die() 的情况下调用 header ('Location' )?

转载 作者:行者123 更新时间:2023-12-02 07:06:38 24 4
gpt4 key购买 nike

在没有 die() 的情况下调用 header('Location:') 是否有意义?

如果不是,为什么 die() 没有被 PHP 解释器自动执行?如果是,什么时候?

最佳答案

header('Location: ') 将使 HTTP redirect告诉浏览器转到新位置:

HTTP/1.1 301 Moved Permanently
Location: http://example.com/another_page.php
Connection: close

它不需要任何 HTML 正文,因为浏览器不会显示它而只是跟随重定向。这就是为什么我们在 header('Location:') 之后调用 die()exit() 的原因。如果不终止脚本,HTTP 响应如下所示。

HTTP/1.1 301 Moved Permanently
Location: http://example.com/another_page.php
Connection: close

<!doctype html>
<html>
<head>
<title>This is a useless page, won't displayed by the browser</title>
</head>
<body>
<!-- Why do I have to make SQL queries and other stuff
if the browser will discard this? -->
</body>
</html>

为什么 PHP 解释器不自动执行 die()?

header() 函数用于发送原始 HTTP header ,不限于 header('Location:')。例如:

header('Content-Type: image/png');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// ...more code...

在这种情况下,我们不会调用 die(),因为我们需要生成 HTTP 响应主体。所以PHP在header()之后自动调用die()是没有意义的。

关于php - 我什么时候应该在没有 die() 的情况下调用 header ('Location' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com