The header() function is a built-in function in PHP that can be used to send raw HTTP headers. The following article will introduce you to the header() function and introduce the usage of several header() functions. I hope it will be helpful to you. [Video tutorial recommendation: PHP tutorial]
##header() function## The role of the #PHP header() function: Send the HTTP header to the client or browser in its original form. The raw data is sent out as header information with requests made by the server (especially HTTP requests) before the HTML, XML, JSON or other output is sent to the browser or client. HTTP headers provide the required information about the objects sent in the message body (more precisely about the request and response).
Basic sentence pattern:header( $header, $replace = TRUE, $http_response_code )
header() function accepts three parameters$header: used Save title string. There are two types of header calls, the first starts with the string "HTTP /" which determines the HTTP status code to be sent; the second starts with "Location:" which is a mandatory parameter.
$replace: Used to indicate that the title should replace the previous one or add a second title, which can be omitted. The default value is True (will replace), if $replace value is False, multiple headers of the same type are forced to be used.
$http_response_code: Used to force the HTTP response code to the specified value (PHP 4.3 and higher), which can be omitted.
Usage of header() function
1. Redirect to the URL and jump to the page <?php
header("Location: http://www.php.cn");
exit;
?>
<?php header("Refresh: 5; url= http://www.php.cn"); exit; ?>
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");//内容过期时间
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");//标记内容最后修改时间
header("Cache-Control: no-cache, must-revalidate");//强制不缓存
header("Pragma: no-cache");//禁止本页被缓存
?>
<html>
<body>
<p>Hello World!</p>
<?php
var_dump(headers_list());
?>
</body>
</html>
Example description:
The above example means disabling caching, which can help the browser prevent caching and allow the browser to request this page every time Always go to the server to get the latest version of content.
Note: The header() function is used multiple times in the example because only one header is allowed to be sent at a time (since PHP 4.4) to prevent header injection attacks.
3. Set the type, character encoding, language, and content length of network files//设置简体中文
header("Content-Language: charset=zh-cn");
// 设置内容长度
header('Content-Length: 39344');
//设置页面文件是HTML类型,字符集是GB2312,即简体中文
header("Content-type: text/html; charset=GB2312");
//设置页面文件是HTML类型,字符集是utf-8
header("content-type:text/html;charset=utf-8");
The following are some common HTTP statuses:
<?php //200 正常状态 header('HTTP/1.1 200 OK'); // 301 永久重定向,记得在后面要加重定向地址 Location:$url header('HTTP/1.1 301 Moved Permanently'); // 设置页面304 没有修改 header('HTTP/1.1 304 Not Modified'); //401 未经授权:访问由于凭据无效被拒绝,需要进行登录 header('HTTP/1.1 401 Unauthorized'); // 403 禁止访问 header('HTTP/1.1 403 Forbidden'); // 404 错误 header('HTTP/1.1 404 Not Found'); // 500 错误 header('HTTP/1.1 500 Internal Server Error'); ?>
<?php
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="登录信息"');
echo '显示的信息!';
?>
header('Content-Type: application/octet-stream'); //设置内容类型
header('Content-Disposition: attachment; filename="example.zip"'); //设置MIME用户作为附件
header('Content-Transfer-Encoding: binary'); //设置传输方式
header('Content-Length: '.filesize('example.zip')); //设置内容长度
The above is the detailed content of How to use php header function. For more information, please follow other related articles on the PHP Chinese website!