PHP header函数分析详解

2012-05-29  金城  2059

PHP只是以HTTP协议将HTML文档的标头送到浏览器,告诉浏览器具体怎么处理这个页面,至于传送的内容则需要熟悉一下HTTP协议了,与PHP无关在php语言中,header()这个函数很有用的,尤其在用到ajax时候,他会帮你解决一些意想不到的问题。下面是header的一些详细讲解。希望对phper有帮助。

<?php
// fix 404 pages(篡改404信息,欺骗浏览器这个页面正常,用在自定义404页面上):
header('HTTP/1.1 200 OK');
// set 404 header(设置404状态码):
header('HTTP/1.1 404 Not Found');
// set Moved Permanently header (good for redrictions)(永久跳转)
// use with location header
header('HTTP/1.1 301 Moved Permanently');
// redirect to a new location(临时跳转):
header('Location:http://www.example.org/');
// redirect with delay(延时跳转):
header('Refresh:10;url=http://www.example.org/');
print 'You will be redirected in 10 seconds<br/>10秒后跳转到www.example.org';
// you could also use the HTML syntax(上边代码与下句等效):
// <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');
// content language (en = English) 设置页面的语言以及国家代码
header('Content-language:zh-CN');
// 等效与 <meta http-equiv="content-language" content="zh-CN" />
// last modified (good for caching) 篡改页面最后修改时间,用于欺骗
$time = time() – 60;// or filemtime($fn),etc
header('Last-Modified:'.gmdate('D,d M Y H:i:s',$time).' GMT');
// header for telling the browser that the content did not get changed(启用304缓存,告诉浏览器页面没有改变,请直接读取缓存)
header('HTTP/1.1 304 Not Modified');
// set content length (good for caching)篡改页面内容长度:
header('Content-Length:1234');
// Headers for an download(下载页面的系列设置):
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');
// Disable caching of the current document:
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 pastheader('Pragma:no-cache');
// set content type:
header('Content-Type:text/html;charset=iso-8859-1');
header('Content-Type:text/html;charset=utf-8');
header('Content-Type:text/plain');
// plain text file
header('Content-Type:image/jpeg');
// JPG picture
header('Content-Type:application/zip');
// ZIP file
header('Content-Type:application/pdf');
// PDF file
header('Content-Type:audio/mpeg');
// Audio MPEG (MP3,…) file
header('Content-Type:application/x-shockwave-flash');
// Flash animation// show sign in box
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';
?>