Today I will bring you a summary of the usage of headers in PHP. There are a total of 5 usages. Let’s explain them one by one in detail. Let’s take a look at them together.
1. The function of the header() function is to send an original HTTP header [Http Header] to the client.
header(string,replace,http_response_code)
/*string: required. Specifies the header string to be sent.
replace: optional. Indicates whether this header replaces the previous header, or adds a second header.
The default is true (replacement). false (allow multiple headers of the same type).
http_response_code: Optional. Forces the HTTP response code to the specified value. */
Note: The header() function must be called before any actual output is sent.
2. Usage 1: Jump page
header("Location:https://baidu.com"); //正常跳转 header('Refresh: 3; url=https://www.baidu.com'); //3s后跳转
//When the header is jumped, to avoid the error, the code continues to execute, usually add an exit;
Usage 2: Declare content-type (I often use it to solve garbled characters)
header('content-type:text/html;charset=utf-8');
Usage 3: Return response status Code
header('HTTP/1.1 403 Forbidden');
Usage 4: Perform download operation (hide file location)
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')); //设置内容长度
Usage 5 : Control browser cache
header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' ); //如果服务器上的网页经常变化,就把它设置为-1,表示立即过期 header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); header( 'Cache-Control: no-store, no-cache, must-revalidate' ); header( 'Cache-Control: post-check=0, pre-check=0', false ); header( 'Pragma: no-cache' );
Usage 6:
3. More examples
<?php // ok header('HTTP/1.1 200 OK'); //设置一个404头: header('HTTP/1.1 404 Not Found'); //设置地址被永久的重定向 header('HTTP/1.1 301 Moved Permanently'); //转到一个新地址 header('Location: http://www.example.org/'); //文件延迟转向: header('Refresh: 10; url=http://www.example.org/'); print 'You will be redirected in 10 seconds'; //当然,也可以使用html语法实现 // <meta http-equiv="refresh" content="10;http://www.example.org/ /> // override X-Powered-By: PHP: header('X-Powered-By: PHP/4.4.0'); header('X-Powered-By: Brain/0.6b'); //文档语言 header('Content-language: en'); //告诉浏览器最后一次修改时间 $time = time() - 60; // or filemtime($fn), etc header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT'); //告诉浏览器文档内容没有发生改变 header('HTTP/1.1 304 Not Modified'); //设置内容长度 header('Content-Length: 1234'); //设置为一个下载类型 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="example.zip"'); header('Content-Transfer-Encoding: binary'); // load the file to send: readfile('example.zip'); // 对当前文档禁用缓存 header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Pragma: no-cache'); //设置内容类型: header('Content-Type: text/html; charset=iso-8859-1'); header('Content-Type: text/html; charset=utf-8'); header('Content-Type: text/plain'); //纯文本格式 header('Content-Type: image/jpeg'); //JPG图片 header('Content-Type: application/zip'); // ZIP文件 header('Content-Type: application/pdf'); // PDF文件 header('Content-Type: audio/mpeg'); // 音频文件 header('Content-Type: application/x-shockwave-flash'); //Flash动画 //显示登陆对话框 header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Top Secret"'); print 'Text that will be displayed if the user hits cancel or '; print 'enters wrong login data'; ?>
I believe you have mastered it after reading these cases For more exciting methods, please pay attention to other related articles on the php Chinese website!
Related reading:
php uses git deployment environment
Detailed explanation of javascript data types and git usage code
The above is the detailed content of Summary of usage of php header. For more information, please follow other related articles on the PHP Chinese website!