欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php如何在header()函数之前输出内容?有大用

shiping1 的头像
PHP 中 header()函数的作用是给客户端发送头信息。

不能使用header()完成该功能。你可以使用如下代码:
echo ‘<script language="javascript">setTimeout("window.location.href=' . " '{$url}' ". ',3000);</script>';
$url是地址,后面那个3000是延迟跳转的毫秒数。什么是头信息?
这里只作简单解释,详细的自己看http协议。
在 HTTP协议中,服务器端的回答(response)内容包括两部分:头信息(header) 和 体内容,这里的头信息不是HTML中的<head></head>部分,同样,体内容也不是<BODY>< /BODY>。头信息是用户看不见的,里面包含了很多项,包括:服务器信息、日期、内容的长度等。而体内容就是整个HTML,也就是你所能看见的全 部东西。
头信息有什么用呢?
头信息的作用很多,最主要的有下面几个:
1、跳转:当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。

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

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

// 指定内容为附件
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// 打开文件,并输出
readfile('original.pdf');

为您推荐:

2013-04-18 20:40热心网友
 
评论 | 0 0
2013-04-20 14:44痞子傻瓜 | 六级
在http传输文本中,规定必须 header和content顺序必须是:header在前content在后,并且header的格式必须满足“keyword: value\n”这种格式。

所以还是输出js来跳转吧!
评论 | 0 0
2013-04-18 20:36热心网友最快回答
不能再header()函数前输出html的内容吧
来自  http://zhidao.baidu.com/link?url=TmweALZfiEgxQshv3IeRfLfzSpD1TWekp1cKdUTpqHiF4DVdgMp5cFs0e3hwDsiu0Qu...
普通分类: