好!欢迎访问迷津渡口 现在时间是: 天气 °C ~ °C

迷津渡口

越感到迷惑 越接近真理

PHP的header函数范例详解

PHP的header函数是用于服务器向客户端发送原始的HTTP报头的函数,而HTTP报头是服务器以 HTTP 协议传 HTML 资料到浏览器前所送出的字串,与 HTML 文件之间尚需空一行分隔。


请注意 header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格。这是个常见的错误,在通过include,require,或者其访问其他文件里面的函数的时候,在header()被调用之前,其中也不能有空格或者空行。 同样的问题也存在于单独的 PHP/HTML 文件中。


关于HTTP的资料,可查看RFC2616文档,此文档详细定义介绍了HTTP1.1协议,当然也包含HTTP报头。

感谢翻译大神,小指分享了中文版在百度云盘:下载

函数定义和参数

void header(string $string [,bool $replace=true [,int $http_response_code ]])

参数表

参数描述
string必需。规定要发送的报头字符串。
replace

可选。指示该报头是否替换之前的报头,或添加第二个报头。

默认是 true(替换)。false(允许相同类型的多个报头)。

http_response_code可选。把 HTTP 响应代码强制为指定的值。(PHP 4 以及更高版本可用)

参数详解

string

必选的参数--报头字符串。

有两种特别的头:

第一种以 HTTP/ 开头的,将会被用来计算出将要发送的HTTP状态码。 

例如,通知浏览器,页面不存在,使用404状态码。

<?php
header("HTTP/1.1 404 Not Found");
?>

第二种特殊情况是 Location: 的头信息。

它不仅把报文发送给浏览器,而且在事先未设置状态码为201或者3xx时返回给浏览器一个重定向--REDIRECT(302)的状态码。

<?php
header("Location: http://www.qingzz.cn/"); /* 重定向到http://www.qingzz.cn */

/* 确保在重定向后面接上exit,防止脚本继续往下执行 */
exit;
?>
replace

可选参数 replace 表明是否用后面的头替换前面相同类型的头。 默认情况下会替换。如果传入 FALSE,就可以强制使相同的头信息并存。例如:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>
http_response_code

强制指定HTTP响应的值。注意,这个参数只有在报头字符串(string)不为空的情况下才有效。

范例

范例一:重定向的两种方法

/* 方法一: Location */
<?php
header("Location: http://www.qingzz.cn/";);
exit;   //在每个重定向之后都必须加上“exit",避免发生错误后,继续执行。
?>
/* 方法二: Url和Refresh
<?php
header("Refresh:3;Url=http://www.qingzz.cn/");
print('正在加载,请稍等...<br>三秒后自动跳转~~~');
?>

范例二:发送状态码

<?php
// 页面成功加载
header('HTTP/1.1 200 OK');
// 页面不存在
header('HTTP/1.1 404 Not Found');
// 访问地址已被永久重定向
header('HTTP/1.1 301 Moved Permanently');
// 通知浏览器文档内容没有发生改变
header('HTTP/1.1 304 Not Modified');
?>

范例三:文件附件下载

<?php 
$filename = '路径+实际文件名'; 
//文件的类型 
header('Content-type: application/pdf'); 
//下载显示的名字 
header('Content-Disposition: attachment; filename="保存时的文件名.pdf"'); 
readfile("$filename"); 
exit(); 
?>

   一些常用的文件类型设置:

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动画

范例四:配置文件缓存

<?php
// 文件路径和名称
$fn = '/test/foo.png';

// 获取客户端的响应报头
$headers = apache_request_headers(); 

// 测试客户端是否开启缓存并测试文件是否是最新的
if (isset($headers['If-Modified-Since']) && (strtotime($headers['If-Modified-Since']) == filemtime($fn))) {
// 如果文件是最新的则返回304状态码说明文件并未修改
header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($fn)).' GMT', true, 304);
} else {
// 如果图片未缓存或者已过期,则返回200状态码并输出文件
header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($fn)).' GMT', true, 200);
header('Content-Length: '.filesize($fn));
header('Content-Type: image/png');
print file_get_contents($fn);
}
?>

范例五:页面禁用缓存

<?PHP 
header('Expires:Sat,26 Jul 1997 05:00:00 GMT'); 
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'); 
?>

范例六:页面密码保护

<?php
// 自定义用户名和密码
$username='testUser';
$password='testPass';

if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) ||
  ($_SERVER['PHP_AUTH_USER'] != $username) || ($_SERVER['PHP_AUTH_PW'] != $password)) {
  // 未输入用户名和密码或输入不匹配,则输出两个HTTP报头,提示用户输入用户名和密码信息
  // 输出401提示未授权
  header('HTTP/1.1 401 Unauthorized');
  // Basic realm是一个域,所有域名为test的页面登录时用户名和密码一致
  header('WWW-Authenticate: Basic realm="test"');
  // 当用户点击`Cancel`取消输入时输出下面的信息
  exit('Sorry, you must enter a valid user name and password to access this page.');
}
?>

  可以把上面的代码保存为一个文件authorize.php,然后在需要密码保护的页面最前面引用此文件:

<?php
  require_once('authorize.php');
?>

  如此便可以用密码保护页面了~


PHP的header函数非常强大,可以做的事情非常多,上面只是常用的几种。

其他的欢迎各位大神留言补充~

点赞0
   支持一下
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
 点赞
 签到
 表情
 图片
 代码
提交评论

清空信息
关闭评论
feriadejaen
 feriadejaen 约 19 小时前回复
#76
<a href="http://www.oanhsara.com/nike-free-tr2-dam%C3%A4nner-gr%C3%BCn-trainerse">nike free tr2 dam盲nner gr眉n</a> <a href="http://www.soflexdance.com/cheap-kids-nike-air-max-shoes-skor">cheap kids nike air max shoes</a> <a href="http://www.lfptrade.com/demarcus-cousins-jersey-cheap-nflr">demarcus cousins jersey cheap</a> <a href="http://www.drnatarajan.com/oakland-raiders-15-michael-crabtree-olive-2017-salute-to-service-limited-jersey-nflv">oakland raiders 15 michael crabtree olive 2017 salute to service limited jersey</a> <a href="http://www.forexfxgweb.com/black-ralph-lauren-v-neck-t-shirts-polor">black ralph lauren v neck t shirts</a> <a href="http://www.whoismoussy.com/air-jordan6-brown-green-trainersce">air jordan6 brown green</a>
feriadejaen http://www.feriadejaen.com/
atppest
 atppest 2019-02-15 03:35回复
#75
<a href="http://www.heslaatours.com/nfl-pittsburgh-steelers-color-rush-limited-antonio-brown-mens-football-jersey-nflv">nfl pittsburgh steelers color rush limited antonio brown mens football jersey</a> <a href="http://www.prostekrasna.com/nike-shox-current-white-yellow-trainersa">nike shox current white yellow</a> <a href="http://www.altharmony.com/nike-free-3.0-v5-nero-argento-anthracite-scarpec">nike free 3.0 v5 nero argento anthracite</a> <a href="http://www.cosmicupcake.com/adidas-ultra-boost-clear-gr%C3%A5-restock-kurpesc">adidas ultra boost clear gr氓 restock</a> <a href="http://www.btmtecled.com/oakley-deviation-oo4061-06-sunglassesg">oakley deviation oo4061 06</a> <a href="http://www.torcgunstore.com/nike-mens-fred-biletnikoff-limited-camo-jersey-oakland-raiders-nfl-25-2018-salute-to-service-nflr">nike mens fred biletnikoff limited camo jersey oakland raiders nfl 25 2018 salute to service</a>
atppest http://www.atppest.com/
milapioffret
 milapioffret 2019-02-14 18:56回复
#74
<a href="http://www.swnblog.com/zdeno-chara-33-boston-bruins-reebok-premier-alternate-jersey-small-nflv">zdeno chara 33 boston bruins reebok premier alternate jersey small</a> <a href="http://www.weimpactmds.com/nike-foamposite-yellow-xanax-bar-trainersa">nike foamposite yellow xanax bar</a> <a href="http://www.relsflorida.com/nike-huarache-qs-noir-rouge-zone-scarped">nike huarache qs noir rouge zone</a> <a href="http://www.votuongluan.com/dam%C3%A4nner-nike-flyknit-roshe-run-schwarz-lila-kurpesd">dam盲nner nike flyknit roshe run schwarz lila</a> <a href="http://www.hanayaflowers.com/ray-ban-sunglasses-ireland-england-sunglassesd">ray ban sunglasses ireland england</a> <a href="http://www.jlchatlaw.com/nike-mens-malcolm-butler-limited-light-blue-jersey-tennessee-titans-nfl-21-rush-vapor-untouchable-nflr">nike mens malcolm butler limited light blue jersey tennessee titans nfl 21 rush vapor untouchable</a>
milapioffret http://www.milapioffret.com/
sftfinance
 sftfinance 2019-02-11 22:07回复
#73
<a href="http://www.jugarcalle.com/australia-4-cahill-home-soccer-country-jersey-nflu">australia 4 cahill home soccer country jersey</a> <a href="http://www.koningsheim.com/air-jordan-retro-13-university-bleu-tigers-kurpesb">air jordan retro 13 university bleu tigers</a> <a href="http://www.nathansills.com/nike-air-presto-mid-obsidian-nero-schuhec">nike air presto mid obsidian nero</a> <a href="http://www.perrymarhsall.com/nike-air-max-tailwind-6-maschio-nero-ops-3-schuheg">nike air max tailwind 6 maschio nero ops 3</a> <a href="http://www.syntheticfish.com/nike-hyperrev-2015-wei%C3%9F-braun-kurpesc">nike hyperrev 2015 wei脽 braun</a> <a href="http://www.vegashideas.com/nike-zoom-pegasus-33-fonctionnement-chaussures-obuvg">nike zoom pegasus 33 fonctionnement chaussures</a>
sftfinance http://www.sftfinance.com/
marjalfun
 marjalfun 2019-02-11 19:11回复
#72
<a href="http://www.keleric.com/nike-lunarglide-7-s%C3%B8lv-gr%C3%B8nn-obuvi">nike lunarglide 7 s酶lv gr酶nn</a> <a href="http://www.jeffreya.com/nike-shox-avenue-cielo-blu-argento-scarpej">nike shox avenue cielo blu argento</a> <a href="http://www.vuduchoan.com/mens-nike-air-max-tailwind-8-purple-white-shoesh">mens nike air max tailwind 8 purple white</a> <a href="http://www.gmfamilylaw.com/nike-kd-7-hombres-rojo-zapatosp">nike kd 7 hombres rojo</a> <a href="http://www.clubephytus.com/mujeres-asics-gel-kayano-21-naranja-blanco-zapatosk">mujeres asics gel kayano 21 naranja blanco</a> <a href="http://www.findnewcoupon.com/womens-denali-north-face-jackets-northfaceh">womens denali north face jackets</a>
marjalfun http://www.marjalfun.com/
xpostshopx
 xpostshopx 2019-02-10 07:32回复
#71
<a href="http://www.findatrans.com/nike-lebron-witness-rouge-bleu-chaussuresh">nike lebron witness rouge bleu</a> <a href="http://www.isabellerigal.com/air-jordan-retro-3-femminile-verde-nero-scarpeq">air jordan retro 3 femminile verde nero</a> <a href="http://www.esnafkocaeli.com/womens-nike-air-max-thea-red-pink-shoesj">womens nike air max thea red pink</a> <a href="http://www.dkdjabar.com/air-jordan-retro-6-kvinders-bl%C3%A5-gr%C3%B8n-skoi">air jordan retro 6 kvinders bl氓 gr酶n</a> <a href="http://www.jamiecirillo.com/air-jordan-retro-14-femminile-argento-rosso-scarpel">air jordan retro 14 femminile argento rosso</a> <a href="http://www.xpostshopx.com/nike-free-powerlines-ii-mens-shoes-black-gold-shoesj">nike free powerlines ii mens shoes black gold</a>
xpostshopx http://www.xpostshopx.com/
zeneventsja
 zeneventsja 2019-02-09 20:21回复
#70
<a href="http://www.egyptmaritime.com/air-jordan-retro-13-kvinners-r%C3%B8d-gr%C3%B8nn-obuvl">air jordan retro 13 kvinners r酶d gr酶nn</a> <a href="http://www.erstube.com/adidas-porsche-design-yellow-shoesh">adidas porsche design yellow</a> <a href="http://www.thecardplayer.com/adidas-crazylight-boost-oro-grigio-scarpei">adidas crazylight boost oro grigio</a> <a href="http://www.theweedaddict.com/nike-air-max-97-rosa-lila-schuhej">nike air max 97 rosa lila</a> <a href="http://www.thecampingman.com/golden-state-warriors-47-nba-moss-clean-up-cap-hath">golden state warriors 47 nba moss clean up cap</a> <a href="http://www.otuzbircek.com/nike-zoom-winflo-2-femmes-rouge-bleu-ciel-chaussuresh">nike zoom winflo 2 femmes rouge bleu ciel</a>
zeneventsja http://www.zeneventsja.com/
wethinkjerky
 wethinkjerky 2019-02-09 07:22回复
#69
<a href="http://www.georgesherry.com/converse-femme-all-star-blanche-shoesz">converse femme all star blanche</a> <a href="http://www.jenalgroup.com/air-jordan-retro-12-ni%C3%B1os-rosado-rojo-schuheb">air jordan retro 12 ni帽os rosado rojo</a> <a href="http://www.badacamshotel.com/limited-nike-navy-blue-mens-geoff-swaim-jersey-nfl-87-dallas-cowboys-therma-long-sleeve-nflu">limited nike navy blue mens geoff swaim jersey nfl 87 dallas cowboys therma long sleeve</a> <a href="http://www.compressmyjs.com/adidas-gazelle-ladies-blue-skou">adidas gazelle ladies blue</a> <a href="http://www.fetison.com/air-jordan-6-retro-low-gg-frame-runningf">air jordan 6 retro low gg frame</a> <a href="http://www.neffloot.com/good-basketball-shoes-for-big-man-zapatosu">good basketball shoes for big man</a>
wethinkjerky http://www.wethinkjerky.com/
imannequins
 imannequins 2019-02-07 01:47回复
#68
<a href="http://www.freizeittrend.com/2014-15-chelsea-fc-26-terry-home-soccer-shirt-kit-nflv">2014 15 chelsea fc 26 terry home soccer shirt kit</a> <a href="http://www.instanalo.com/air-jordan-super-fly-v-gold-brown-skof">air jordan super fly v gold brown</a> <a href="http://www.olafhuth.com/asics-gel-noosa-tri-9-mens-shoes-italy-skob">asics gel noosa tri 9 mens shoes italy</a> <a href="http://www.pecanfirewood.com/kansas-city-royals-stocking-hats-ebay-hate">kansas city royals stocking hats ebay</a> <a href="http://www.ezzolawaz.com/air-jordan-melo-5.5-low-xenoblade-runningf">air jordan melo 5.5 low xenoblade</a> <a href="http://www.suchmeldungen.com/dam%C3%A4nner-nike-air-huarache-nm-lila-blau-schuhea">dam盲nner nike air huarache nm lila blau</a>
[url=http://www.imannequins.com/]imannequins[/url]
elitoyreviews
 elitoyreviews 2019-02-06 12:58回复
#67
<a href="http://www.nollerlincoln.com/nike-internationalist-jcrd-rojo-rosado-scarpee">nike internationalist jcrd rojo rosado</a> <a href="http://www.wimpley.com/nike-ash-womens-jarvis-landry-one-color-nfl-80-cleveland-browns-t-shirt-nfls">nike ash womens jarvis landry one color nfl 80 cleveland browns t shirt</a> <a href="http://www.noumetpatrice.com/hombres-ralph-lauren-polo-hanford-perf-suede-zapatillas-polox">hombres ralph lauren polo hanford perf suede zapatillas</a> <a href="http://www.sennaparisllc.com/nike-womens-michael-roberts-game-black-jersey-detroit-lions-nfl-80-fashion-nflz">nike womens michael roberts game black jersey detroit lions nfl 80 fashion</a> <a href="http://www.stylejinx.com/nike-air-max-2014-gr%C3%BCn-braun-kurpesc">nike air max 2014 gr眉n braun</a> <a href="http://www.threeoaksmi.com/limited-mens-deshaun-watson-navy-blue-jersey-nfl-nike-houston-texans-4-tank-top-suit-nflx">limited mens deshaun watson navy blue jersey nfl nike houston texans 4 tank top suit</a>
elitoyreviews http://www.elitoyreviews.com/
顶部留言底部
 00:00/00:00
我想和你虚度时光 - 花房姑娘(9)
  1. 我想和你虚度时光
  2. 花房姑娘
  3. 恋恋风尘
  4. 我喜爱一切不彻底的事物
  5. 我的心里是满的
  6. Long Way
  7. 给少年的歌
  8. 晴日共剪窗
  9. 天上的月你的脸