Use of PHP header() function_PHP tutorial

WBOY
Release: 2016-07-13 10:33:25
Original
1014 people have browsed it

In the previous article, I introduced some situations of the header() function in PHP. Let me add some more here.

The following are detailed instructions for using the header function:

No matter how many headers the page has, it will execute the last one, but it is conditional, for example:

header('Location:http://www.bkjia.com'); 
header('Location:http://www.g.cn'); 
header('Location:http://www.baidu.com'); 
Copy after login

This will jump to Baidu

The role of header function

PHP only sends the header of the HTML document to the browser using the HTTP protocol and tells the browser how to process the page. As for the transmitted content, you need to be familiar with the HTTP protocol and has nothing to do with PHP.

Traditional headers must contain one of the following three headers and can only appear once.

Location: xxxx:yyyy/zzzz 
Content-Type: xxxx/yyyy 
Status: nnn xxxxxx 
Copy after login

How the HTTP protocol works

The HTTP protocol is based on the request/response paradigm. After a client establishes a connection with the server, it sends a request to the server. The format of the request is a uniform resource identifier, a protocol version number, followed by MIME information including request modifiers, client information and possible content. After receiving the request, the server gives corresponding response information. Its format is a status line including the protocol version number of the information, a success or error code, followed by MIME information including server information, entity information and possible content.

It is divided into four processes. In the HTTP protocol, the server refers to the part that provides HTTP services, and the client refers to the browser or download tool you use, etc. During communication, the client sends a request for connection, and the server establishes the connection; then, the client sends an HTTP request (Request), and the server returns response information (Respond), thus completing an HTTP operation.

The meaning of HTTP protocol status code

1××  保留 
2××  表示请求成功地接收 
3××  为完成请求客户需进一步细化请求 
4××  客户错误 
5××  服务器错误   
Copy after login

Operation examples

  • Redirect function, this is the most common.
  • <?php 
       Header("Location: http://www.php.net/"); 
    ?> 
    
    Copy after login
  • Force users to get the latest information every time they visit this page, rather than using the client-side cache.
  • <?php 
    //告诉浏览器此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 
    header("Expires: Mon, 26 Jul 1970 05:00:00 GMT"); 
    //告诉浏览器此页面的最后更新日期(用格林威治时间表示)也就是当天,目的就是强迫浏览器获取最新资料 
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); 
    //告诉客户端浏览器不使用缓存 
    header("Cache-Control: no-cache, must-revalidate"); 
    //参数(与以前的服务器兼容),即兼容HTTP1.0协议 
    header("Pragma: no-cache"); 
    //输出MIME类型 
    header("Content-type: application/file"); 
    //文件长度 
    header("Content-Length: 227685"); 
    //接受的范围单位 
    header("Accept-Ranges: bytes"); 
    //缺省时文件保存对话框中的文件名称 
    header("Content-Disposition: attachment; filename=$filename"); 
    ?> 
    
    Copy after login
  • Output status value to the browser, mainly used for access control.
  • <?php 
    header('HTTP/1.1 401 Unauthorized'); 
    header('status: 401 Unauthorized'); 
    ?> 
    
    Copy after login

    For example, if you want to restrict a user from accessing this page, you can set the status to 404, as shown below, so that the browser will display that the page does not exist.

    <?php 
    header('HTTP/1.1 404 Not Found'); 
    header("status: 404 Not Found"); 
    ?> 
    
    Copy after login

    Note: Traditional headers must contain one of the following three headers and can only appear once. Content-Type: xxxx/yyyy Location: xxxx:yyyy/zzzz Status: nnn xxxxxx can appear more than twice in the new multipart header specification (Multipart MIME).

Usage Example

  • Example 1: This example redirects the browser to the official website of PHP.
  • Header("Location: http://www.php.net/"); 
    exit;  
    
    Copy after login
  • Example 2: If you want the user to get the latest data every time, instead of the data in the Proxy or cache, you can use the following header:
  • 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");  
    
    Copy after login
  • Example 3: Let the user's browser display a message that the file cannot be found.
  • header("Status: 404 Not Found"); 
    
    Copy after login
  • Example 4: Allow users to download files.
  • header("Content-type: application/x-gzip"); 
    header("Content-Disposition: attachment; filename=文件名"); 
    header("Content-Description: PHP3 Generated Data"); 
    
    Copy after login

    www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/752498.htmlTechArticleIn the previous article, we introduced some situations of the header() function in PHP. Let’s add some more here. The following are detailed instructions for using the header function: No matter how many headers the page has,...
Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!