加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP中的header()函数

发布时间:2020-05-25 02:54:38 所属栏目:PHP 来源:互联网
导读:PHP 中 header()函数的作用是给客户端发送头信息。什么是头信息?这里只作简单解释,详细的自己看http协议。在HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header) 和体内容,这里的头信息不是HTML中的head/head部分,同样,体内容也不是BOD
</tr&gt;

<tr>
<td><span style="font-size: 14px; font-family: arial,sans-serif;">replace</td>
<td>

<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">可选。指示该报头是否替换之前的报头,或添加第二个报头。


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">默认是 true(替换)。false(允许相同类型的多个报头)。

        </td&gt;

    </tr&gt;

<tr>
<td><span style="font-size: 14px; font-family: arial,sans-serif;">http_response_co<span style="font-size: 14px; font-family: arial,sans-serif;">de</td>
<td><span style="font-size: 14px; font-family: arial,sans-serif;">可选。把 HTTP 响应代码强制为指定的值。(PHP 4 以及更高版本可用)</td>

    </tr&gt;

</tbody>

</table>
<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">提示和注释


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">注释:从 PHP 4.4 之后,该函数防止一次发送多个报头。这是对头部注入攻击的保护措施。


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">例子


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">例子 1


<div class="cnblogs_code">

<span style="color: #008000;">//<span style="color: #008000;"> Date in the past
<span style="color: #000000;">
header(<span style="color: #800000;">"<span style="color: #800000;">Expires: Mon,26 Jul 1997 05:00:00 GMT<span style="color: #800000;">"<span style="color: #000000;">);

header(<span style="color: #800000;">"<span style="color: #800000;">Cache-Control: no-cache<span style="color: #800000;">"<span style="color: #000000;">);

header(<span style="color: #800000;">"<span style="color: #800000;">Pragma: no-cache<span style="color: #800000;">"<span style="color: #000000;">);

?>

...

...



<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">注释:用户可能会设置一些选项来更改浏览器的默认缓存设置。通过发送上面的报头,您可以覆盖任何这些设置,强制浏览器不进行缓存!


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">例子 2


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">提示用户保存一个生成的 PDF 文件(Content-Disposition 报头用于提供一个推荐的文件名,并强制浏览器显示保存对话框):


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">header("Content-type:application/pdf");


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">// 文件将被称为 downloaded.pdf


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">header("Content-Disposition:attachment;filename='downloaded.pdf'");


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">// PDF 源在 original.pdf 中


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">readfile("original.pdf");


<p style="text-indent: 2em;"><span style="font-size: 14px; font-family: arial,sans-serif;">


<p style="text-indent: 2em;">







附带文档类型及服务器响应类别




'application/octet-stream',
'application/vnd.ms-powerpoint',sans-serif;"> 'xls'=>'application/vnd.ms-excel',sans-serif;"> 'doc'=>'application/msword',sans-serif;"> 'exe'=>'application/octet-stream',sans-serif;"> 'rar'=>'application/octet-stream',sans-serif;"> 'js'=>"javascrīpt/js",sans-serif;"> 'css'=>"text/css",sans-serif;"> 'hqx'=>"application/mac-binhex40",sans-serif;"> 'bin'=>"application/octet-stream",sans-serif;"> 'oda'=>"application/oda",sans-serif;"> 'pdf'=>"application/pdf",sans-serif;"> 'ai'=>"application/postsrcipt",sans-serif;"> 'eps'=>"application/postsrcipt",sans-serif;"> 'es'=>"application/postsrcipt",sans-serif;"> 'rtf'=>"application/rtf",sans-serif;"> 'mif'=>"application/x-mif",sans-serif;"> 'csh'=>"application/x-csh",sans-serif;"> 'dvi'=>"application/x-dvi",sans-serif;"> 'hdf'=>"application/x-hdf",sans-serif;"> 'nc'=>"application/x-netcdf",sans-serif;"> 'cdf'=>"application/x-netcdf",sans-serif;"> 'latex'=>"application/x-latex",sans-serif;"> 'ts'=>"application/x-troll-ts",sans-serif;"> 'src'=>"application/x-wais-source",sans-serif;"> 'zip'=>"application/zip",sans-serif;"> 'bcpio'=>"application/x-bcpio",sans-serif;"> 'cpio'=>"application/x-cpio",sans-serif;"> 'gtar'=>"application/x-gtar",sans-serif;"> 'shar'=>"application/x-shar",sans-serif;"> 'sv4cpio'=>"application/x-sv4cpio",sans-serif;"> 'sv4crc'=>"application/x-sv4crc",sans-serif;"> 'tar'=>"application/x-tar",sans-serif;"> 'ustar'=>"application/x-ustar",sans-serif;"> 'man'=>"application/x-troff-man",sans-serif;"> 'sh'=>"application/x-sh",sans-serif;"> 'tcl'=>"application/x-tcl",sans-serif;"> 'tex'=>"application/x-tex",sans-serif;"> 'texi'=>"application/x-texinfo",sans-serif;"> 'texinfo'=>"application/x-texinfo",sans-serif;"> 't'=>"application/x-troff",sans-serif;"> 'tr'=>"application/x-troff",sans-serif;"> 'roff'=>"application/x-troff",sans-serif;"> 'me'=>"application/x-troll-me",sans-serif;"> 'gif'=>"image/gif",sans-serif;"> 'jpeg'=>"image/pjpeg",sans-serif;"> 'jpg'=>"image/pjpeg",sans-serif;"> 'jpe'=>"image/pjpeg",sans-serif;"> 'ras'=>"image/x-cmu-raster",sans-serif;"> 'pbm'=>"image/x-portable-bitmap",sans-serif;"> 'ppm'=>"image/x-portable-pixmap",sans-serif;"> 'xbm'=>"image/x-xbitmap",sans-serif;"> 'xwd'=>"image/x-xwindowdump",sans-serif;"> 'ief'=>"image/ief",sans-serif;"> 'tif'=>"image/tiff",sans-serif;"> 'tiff'=>"image/tiff",sans-serif;"> 'pnm'=>"image/x-portable-anymap",sans-serif;"> 'pgm'=>"image/x-portable-graymap",sans-serif;"> 'rgb'=>"image/x-rgb",sans-serif;"> 'xpm'=>"image/x-xpixmap",sans-serif;"> 'txt'=>"text/plain",sans-serif;"> 'c'=>"text/plain",sans-serif;"> 'cc'=>"text/plain",sans-serif;"> 'h'=>"text/plain",sans-serif;"> 'html'=>"text/html",sans-serif;"> 'htm'=>"text/html",sans-serif;"> 'htl'=>"text/html",sans-serif;"> 'rtx'=>"text/richtext",sans-serif;"> 'etx'=>"text/x-setext",sans-serif;"> 'tsv'=>"text/tab-separated-values",sans-serif;"> 'mpeg'=>"video/mpeg",sans-serif;"> 'mpg'=>"video/mpeg",sans-serif;"> 'mpe'=>"video/mpeg",sans-serif;"> 'avi'=>"video/x-msvideo",sans-serif;"> 'qt'=>"video/quicktime",sans-serif;"> 'mov'=>"video/quicktime",sans-serif;"> 'moov'=>"video/quicktime",sans-serif;"> 'movie'=>"video/x-sgi-movie",sans-serif;"> 'au'=>"audio/basic",sans-serif;"> 'snd'=>"audio/basic",sans-serif;"> 'wav'=>"audio/x-wav",sans-serif;"> 'aif'=>"audio/x-aiff",sans-serif;"> 'aiff'=>"audio/x-aiff",sans-serif;"> 'aifc'=>"audio/x-aiff",sans-serif;"> 'swf'=>"application/x-shockwave-flash"
"application/myz"

















































































































































































































































































































































(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

什么是头信息?

部分,同样,体内容也不是< /BODY>。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个HTML,也就是你所能看见的全 部东西。

头信息有什么用呢?

1、跳转:当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。

2、指定网页的内容: 同样一个XML文件,如果头信息中指定:Content-type: application/xml 的话,浏览器会将其按照XML文件格式解析。但是,如果头信息中是:Content-type: text/xml 的话,浏览器就会将其看作存文本解析。(浏览器不是按照扩展名解析文件的)

3、附件: 不知道大家有没有注意,有些时候在一些网站下载东西,点下载连接以后,结果浏览器将这个附件当成网页打开 了,里面显示的都是乱码,这个问题也和头信息有关。有时候浏览器根据Content-type 来判断是打开还是保存,这样有时就会判断错误(主要是网站设计者忘记写Content-type)。其实,还有一个可以来指定该内容为附件、需要保存,这 个就是:Content-Disposition: attachment; filename="xxxxx"

3、附件:





    推荐文章
      热点阅读