function Header function:
Page Jump
HTTP header information
Header information has many functions, the most important of which are the following:
1, jump
When the browser accepts the location:xxxx in the header, it automatically jumps to the URL address that the XXXX points to, which is a bit like writing a jump with JS. But this jumps only the browser to know, no matter in the body content has the thing, the user cannot see.
Example: Header ("location:http://www.3lian.com/");
2, the content of the specified Web page
The same XML file, if specified in header information: Content-type:application/xml, the browser will parse it in the XML file format. However, if the header information is: Content-type:text/xml, the browser will treat it as a saved text parsing. (The browser does not parse the file according to the extension)
Example: Header (' content-type:application/pdf ');
3, Accessories
Do not know if you have no attention, and sometimes in some sites to download things, the point of Download connection, the results of the browser as a Web page opened, inside the display is garbled, this problem is also related to the head information. Sometimes the browser is based on Content-type to determine whether to open or save, so sometimes you will judge the error (mainly the web designer forgot to write Content-type). In fact, there is another can specify the content as an attachment, need to save, this is: content-disposition:attachment; Filename= "xxxxx"
Example: Header (' content-disposition:attachment; filename= "Downloaded.pdf");
Open the file and output
ReadFile (' original.pdf ');
HTTP protocol Status Code
1xx Retention
2XX indicates that the request was successfully received
3xx requesting customers to further refine requests for completion
4XX Customer Error
5XX Server Error
Grammar:
Header (String,replace,http_response_code)
Parameters
String: Required. Specify the header string to send.
Replace: Optional. Indicates whether the header replaces the previous header, or adds a second header. The default is true (replace). False (allows multiple headers of the same type).
Http_response_code: Optional. Forces the HTTP response code to the specified value. (PHP 4 and later available)
Example 1:
REDIRECT Web pages
<?php
Header ("location:http://www.example.com/");
Exit
?>
Example 2:
Force users to get the latest information each time they visit this page, instead of using a cached client.
<?php
Tells the browser when this page expires (in Greenwich Mean Time), as long as the date is already past.
Header ("expires:mon,26 June 1970 05:00:00 GMT");
Tell the browser that the last update date for this page (in GMT) is the same day, the purpose is to force the browser to get the latest information
Header ("last-modified:". Gmdate ("D,d M Y h:i:s"). " GMT ");
Tells the client that the browser does not use the cache
Header ("Cache-control:no-cache, must-revalidate");
Parameter (compatible with previous server), i.e. compatible HTTP1.0 protocol
Header ("Pragma:no-cache");
?>
Example 3:
Output status value to browser, primarily for access control
<?php
Header (' http/1.1 401 Unauthorized ');
Header (' status:401 unauthorized ');
?>
Example 4:
To restrict a user from having access to the page, you can set the status to 404, as shown below, so that the browser appears as if the page does not exist
<?php
Header (' http/1.1 404 Not Found ');
Header ("status:404 not Found"); This is a wrong notation.
?>
Example 5:
Location of hidden files
The HTML tag <a href= ' Http://hostname/*.mp3 ' ></a> can be used to download normal files. If you want to keep a confidential file, you cannot tell the file link to others, you can use the header function to achieve file download.
Header ("Content-type:audio/mpeg");
Header ("content-disposition:attachment; Filename=filenale ");
Header ("Content-description:php3 generated Data");
Example 6:
Header function before entering content
In general, it is not possible to output HTML content before the header function, similar to the Setcookie () and session functions, which need to add message header information to the output stream. If there is an Echo statement before header () executes, when the header () is encountered, the "Warning:cannot Modify header Information-headers already sent by ..." error is reported. This means that there can be no text, blank lines, carriage returns, etc. before these functions, and it is best to add the exit () function after the header () function. For example, in the following error notation, there is a blank line between two PHP code snippets:
<?php
Some code here
?>
This is supposed to be a blank line.
<?php
Header ("http/1.1 403 Forbidden");
Exit ();
?>
Reason:
When the PHP script starts executing, it can simultaneously send the HTTP message header (header) information and the principal information. The HTTP message header (from the header () or Setcookie () function) is not sent immediately, instead, it is saved to a list. This allows you to modify the header information, including the default headings (such as content-type headings). However, once the script sends any non-caption output (for example, using HTML or print () calls), then PHP must first send all headers and then terminate Httpheader. And then continue sending the principal data. From this point on, any attempt to add or modify header information is disallowed and sends one of the above error messages.
Solution:
Modify PHP.ini to open cache (output_buffering) and modify output_buffering=0 to output_buffering=4096
Or use the caching function Ob_start (), Ob_end_flush (), etc. in the program. The principle is: When output_buffering is enabled, PHP does not send httpheader when the script sends output. Instead, it enters the output through the pipeline (pipe) into the dynamically incremented cache (which can only be used in PHP4.0, which has a centralized output mechanism). You can still modify/add headers, or set cookies, because the header is not actually sent. When all scripts are terminated, PHP automatically sends the HTTP header to the browser and then sends the contents of the output buffer.