标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 2068 官方文件 (http://www.w3.org/Protocols/rfc2068/rfc2068)。在 PHP 中送回 HTML 资料前,需先传完所有的标头。
注意: 传统的标头一定包含下面三种标头之一,并只能出现一次。
<?php
2
3 // ok
4 header('HTTP/1.1 200 OK');
5
6 //设置一个404头:
7 header('HTTP/1.1 404 Not Found');
8
9 //设置地址被永久的重定向
10 header('HTTP/1.1 301 Moved Permanently');
11
12 //转到一个新地址
13 header('Location: http://www.example.org/');
14
15 //文件延迟转向:
16 header('Refresh: 10; url=http://www.example.org/');
17 print 'You will be redirected in 10 seconds';
18
19 //当然,也可以使用html语法实现
20 // <meta http-equiv="refresh" content="10;http://www.example.org/ />
21
22 // override X-Powered-By: PHP:
23 header('X-Powered-By: PHP/4.4.0');
24 header('X-Powered-By: Brain/0.6b');
25
26 //文档语言
27 header('Content-language: en');
28
29 //告诉浏览器最后一次修改时间
30 $time = time() - 60; // or filemtime($fn), etc
31 header('Last-Modified: '.gmdate('D, d M Y H:i:s', $time).' GMT');
32
33 //告诉浏览器文档内容没有发生改变
34 header('HTTP/1.1 304 Not Modified');
35
36 //设置内容长度
37 header('Content-Length: 1234');
38
39 //设置为一个下载类型
40 header('Content-Type: application/octet-stream');
41 header('Content-Disposition: attachment; filename="example.zip"');
42 header('Content-Transfer-Encoding: binary');
43 // load the file to send:
44 readfile('example.zip');
45
46 // 对当前文档禁用缓存
47 header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
48 header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
49 header('Pragma: no-cache');
50
51 //设置内容类型:
52 header('Content-Type: text/html; charset=iso-8859-1');
53 header('Content-Type: text/html; charset=utf-8');
54 header('Content-Type: text/plain'); //纯文本格式
55 header('Content-Type: image/jpeg'); //JPG图片
56 header('Content-Type: application/zip'); // ZIP文件
57 header('Content-Type: application/pdf'); // PDF文件
58 header('Content-Type: audio/mpeg'); // 音频文件
59 header('Content-Type: application/x-shockwave-flash'); //Flash动画
60
61 //显示登陆对话框
62 header('HTTP/1.1 401 Unauthorized');
63 header('WWW-Authenticate: Basic realm="Top Secret"');
64 print 'Text that will be displayed if the user hits cancel or ';
65 print 'enters wrong login data';
66 ?>
[
本帖最后由 xiexie 于 2011-5-17 14:01 编辑 ]