PHP header()
PHP标头() header()是PHP的预定义网络函数,它将原始HTTP标头发送到客户端。关于header(…
PHP标头()
header()是PHP的预定义网络函数,它将原始HTTP标头发送到客户端。关于header()函数要注意的重要一点是,必须在发送任何实际输出之前调用它。
header()函数将原始格式的HTTP标头发送到客户端或浏览器。在发送任何其他输出之前,HTTP函数会处理Web服务器发送到客户端或浏览器的信息。
句法
void header (string $header, boolean $replace = TRUE, int $http_response_code)
参量
header()函数接受三个参数,下面将详细讨论:
$ header(强制性)
header参数包含要发送的标题字符串。此函数有两种特殊的标头调用。
第一个标头以“HTTP/”字符串开头,该字符串查找要发送的HTTP状态代码。
标头的第二个特殊情况以“Location:”标头开始。它不仅将标头发送回浏览器,而且还向浏览器提供REDIRECT(302)状态代码,直到已经设置了201或3xx状态代码。
$ replace(可选)
此参数用于指定是将先前的相同标头替换为标头还是添加另一个相同类型的标头。$replace是布尔类型的可选参数。
默认值为TRUE,这意味着它将替换先前的相同标头。但是,如果将FALSE作为第二个参数传递,则可以绑定多个相同类型的标头。
http_response_code(可选)
$http_response_code是一个可选参数,用于将HTTP响应代码强制为指定值。
注意:如果标题不为空白,则http_response_code参数有效。
返回值
PHPheader()函数不返回任何值。
变化
在PHP版本5.1.2之后,此函数停止发送多个头,以防止头注入攻击。一次只允许一个标头。
用途
- 它将更改页面位置。
- 它设置时区。
- 它发送停止状态。
- 此函数设置缓存控件。
- 它启动强制下载。
例子
借助以下示例,您可以了解header()函数在运行时环境中的实际工作-
示例1:重定向浏览器
以下代码会将您的用户重定向到其他页面。
<?php // This will redirect the user to the new location header('Location: http://www.javatpoint.com/'); //The below code will not execute after header exit; ?>
输出量
它将重定向到新的URL位置,该位置在上述程序的header()函数中给出,即www.javatpoint.com。如果在header()之后写了任何代码行,它将不会执行。
示例2:重定向间隔
以下代码将在10秒后将您的用户重定向到另一个页面。
<?php // This will redirect after 10 seconds header('Refresh: 10; url = http://www.javatpoint.com/'); exit; ?>
输出量
The output will be same as the example 1, but it will take 10 seconds to load.
注意:如果在header() 函数之后写入了任何代码行,它将不会执行。
示例3:不要缓存页面
通过使用以下代码,可以防止浏览器缓存页面。
<?php // PHP program to describes header function // Set a past date header("Expires: Tue, 03 March 2001 04:50:34 GMT"); header("Cache-Control: no-cache"); header("Pragma: no-cache"); ?> <html> <body> <p>Hello Javatpoint!</p> <!-- PHP program to display header list --> <?php print_r(headers_list()); ?> </body> </html>
输出量
Hello Javatpoint! Array ( [0] => X-Powered-By: PHP/7.3.13 [1] => Expires: Tue, 03 March 2001 04:50:34 GMT [2] => Cache-Control: no-cache [3] => Pragma: no-cache )
绝对URI
一些较旧的客户端需要绝对URI,其中包括主机名,方案和绝对路径,而大多数现代客户端都接受相对URI作为Location的参数。要创建绝对URI,可以使用$SERVER[‘PHP_SELF’],$SERVER[‘HTTP_HOST’]和dirname()。
例子4
创建两个php文件,其中一个用于包含头文件代码,另一个用于重定向到浏览器上的新页面。
headercheck.php
<?php $host = $_SERVER['HTTP_HOST']; $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/'); $newpage = 'welcome.php'; /* Redirect to a different page requested in the current directory*/ header("Location: http://$host$uri/$newpage"); exit; ?>
welcome.php
<!-- welcome.php file redirect to new page --> <html> <head> <title> Welcome page </title> </head> <body> <h2> <center> Welcome to javaTpoint </center> </h2> </body> </html>
输出量
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!