Home  >  Article  >  Backend Development  >  How to use php header function

How to use php header function

青灯夜游
青灯夜游Original
2019-02-27 11:56:3111732browse

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]

How to use php header function

##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 )

Parameters:

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; 
?>
You can also adjust the jump time and set the jump to be executed after a certain time

<?php 
header("Refresh: 5; url= http://www.php.cn"); 
exit; 
?>

2. Set the cache control to control the browser’s cache

<?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>
Output:

How to use php header functionExample 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(&#39;Content-Length: 39344&#39;);

//设置页面文件是HTML类型,字符集是GB2312,即简体中文
header("Content-type: text/html; charset=GB2312");

//设置页面文件是HTML类型,字符集是utf-8
header("content-type:text/html;charset=utf-8");

4.Send HTTP status

The following are some common HTTP statuses:

<?php
//200 正常状态
header(&#39;HTTP/1.1 200 OK&#39;);

// 301 永久重定向,记得在后面要加重定向地址 Location:$url
header(&#39;HTTP/1.1 301 Moved Permanently&#39;);

// 设置页面304 没有修改
header(&#39;HTTP/1.1 304 Not Modified&#39;);

//401 未经授权:访问由于凭据无效被拒绝,需要进行登录
header(&#39;HTTP/1.1 401 Unauthorized&#39;);

// 403 禁止访问
header(&#39;HTTP/1.1 403 Forbidden&#39;);
 
// 404 错误
header(&#39;HTTP/1.1 404 Not Found&#39;);
// 500 错误
header(&#39;HTTP/1.1 500 Internal Server Error&#39;);
?>

5. Perform http verification and display information

<?php
header(&#39;HTTP/1.1 401 Unauthorized&#39;);
header(&#39;WWW-Authenticate: Basic realm="登录信息"&#39;);
echo &#39;显示的信息!&#39;;
?>

6. Set the header file type, which can be used Streaming files or file downloads

header(&#39;Content-Type: application/octet-stream&#39;); //设置内容类型
header(&#39;Content-Disposition: attachment; filename="example.zip"&#39;); //设置MIME用户作为附件
header(&#39;Content-Transfer-Encoding: binary&#39;); //设置传输方式
header(&#39;Content-Length: &#39;.filesize(&#39;example.zip&#39;)); //设置内容长度
The above is the entire content of this article, I hope it will be helpful to everyone's learning. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn