Welcome 微信登录

首页 / 网页编程 / PHP / 基于header的一些常用指令详解

header常用指令
header分为三部分:
第一部分为HTTP协议的版本(HTTP-Version);
第二部分为状态代码(Status);
第三部分为原因短语(Reason-Phrase)。

// fix 404 pages:   用这个header指令来解决URL重写产生的404 header
header("HTTP/1.1 200 OK");  

// set 404 header:   页面没找到
header("HTTP/1.1 404 Not Found");  

//页面被永久删除,可以告诉搜索引擎更新它们的urls
// set Moved Permanently header (good for redrictions)  
// use with location header  
header("HTTP/1.1 301 Moved Permanently"); 

// 访问受限
header("HTTP/1.1 403 Forbidden");

// 服务器错误
header("HTTP/1.1 500 Internal Server Error");

// 重定向到一个新的位置
// redirect to a new location:  
header("Location: http://www.example.org/");  

延迟一段时间后重定向
// redrict with delay:  
header("Refresh: 10; url=http://www.example.org/");  
print "You will be redirected in 10 seconds";  

// 覆盖 X-Powered-By value
// override X-Powered-By: PHP:  
header("X-Powered-By: PHP/4.4.0");  
header("X-Powered-By: Brain/0.6b");  

// 内容语言 (en = English)
// content language (en = English)  
header("Content-language: en");  

//最后修改时间(在缓存的时候可以用到)
// 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  
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");  

// 显示登录对话框,可以用来进行HTTP认证
// 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";?>

// 发送一个200 正常响应
header("HTTP/1.1 200 OK");

// 发送一个404 找不到资源响应
header("HTTP/1.1 404 Not Found");

// 发送一个301 永久重定向
header("HTTP/1.1 301 Moved Permanently");

// 发送一个503 网站暂时不能访问
header("HTTP/1.1 503 Service Temporarily Unavailable");

// 网页重定向
header("Location: http://www.jb51.net");

// 设置网页3秒后重定向
header("Refresh: 3; url=http://www.jb51.net");
echo "网页将在3秒后跳转到http://www.jb51.net";

// 设置网页编码
header("Content-Type: text/html; charset=utf-8");

// 设置网页输出一个图片流
header("Content-Type: image/jpeg");

// 设置网页输出一个pdf文档
header("Content-Type: application/pdf");

// 设置网页输出一个zip文档
header("Content-Type: application/zip");