zhylioooo

1、header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。

header(string,replace,http_response_code)    
/*string:必需。规定要发送的报头字符串。
    replace:可选。指示该报头是否替换之前的报头,或添加第二个报头。
    默认是 true(替换)。false(允许相同类型的多个报头)。
    http_response_code:可选。把 HTTP 响应代码强制为指定的值。*/

注意:必须在任何实际的输出被发送之前调用 header() 函数。

2、  用法1:跳转页面

header("Location:https://baidu.com"); //正常跳转
header(\'Refresh: 3; url=https://www.baidu.com\');  //3s后跳转
//在header作跳转时,避免发生错误后,代码继续执行,一般加个exit;

  用法2:声明content-type(我经常拿来决解乱码)

header(\'content-type:text/html;charset=utf-8\');

  用法3:返回响应状态码

header(\'HTTP/1.1 403 Forbidden\');

  用法4:执行下载操作(隐藏文件的位置)

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\')); //设置内容长度

  用法5:控制浏览器缓存

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\' );

  用法6:

3、更多实例

<?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\';
?>

分类:

技术点:

相关文章: