PHP函数之header实现页面重定向
header函数是PHP中的一个内置函数,用于向客户端浏览器发送原始的HTTP头信息。通过header函数,我们可以实现页面的重定向,即将用户自动跳转到另一个页面。
使用header函数实现页面重定向主要有两个步骤:
1. 设置HTTP状态码和Location头信息
2. 结束当前页面的输出
下面我们来详细介绍如何使用header函数实现页面重定向。
首先,我们需要使用header函数来设置HTTP状态码和Location头信息。HTTP状态码表示服务器对客户端请求的处理结果,其中3xx的状态码表示重定向。常用的重定向状态码有:
- 301 Moved Permanently:永久重定向,表示请求的资源已经永久移动到新的URL。
- 302 Found 或者 303 See Other:临时重定向,表示请求的资源已经暂时移动到新的URL。
- 307 Temporary Redirect:临时重定向,表示请求的资源已经暂时移动到新的URL。
以302状态码为例,可以使用以下代码实现页面重定向:
header('HTTP/1.1 302 Found');
header('Location: http://www.example.com/new_page.php');
在上述例子中,我们使用header函数设置了HTTP状态码为302,并且指定了重定向的目标URL。
接下来,我们需要结束当前页面的输出,以避免在重定向之后,页面继续输出内容到客户端。可以使用die函数或者exit函数来实现页面的输出结束:
header('HTTP/1.1 302 Found');
header('Location: http://www.example.com/new_page.php');
exit;
或者
header('HTTP/1.1 302 Found');
header('Location: http://www.example.com/new_page.php');
die;
以上代码中,我们使用了exit函数或者die函数来终止PHP的执行,从而结束页面的输出。
需要注意的是,在使用header函数设置HTTP头信息之前,不能有任何的输出,包括HTML标签、空格、换行等。如果在header函数之前有其他输出,会导致header函数执行失败,从而无法实现页面重定向。
在实际应用中,除了设置HTTP状态码和Location头信息,还可以设置其他的HTTP头信息,例如设置缓存控制、cookie等。
总结一下,使用header函数可以实现页面的重定向,主要包括两个步骤:设置HTTP状态码和Location头信息,并结束当前页面的输出。通过合理使用header函数,可以在PHP中方便地实现页面重定向功能。
