header已经发送,为什么还是返回false 手册中有人提到这个问题:http://cn2.php.net/manual/en/function.headers-sent.php#86488 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 header("Content-type: text/html; charset=gbk"); flush();//刷新输出缓冲 var_dump(headers_sent()); 可以讲点理论的知识吗??比如在什么情况下,headers_sent返回true?? 很简单,只要有任意输出,或者调用flushheaders_sent都会返回true例如header("Content-type: text/html; charset=gbk"); echo " "; var_dump(headers_sent()); header("Content-type: text/html; charset=gbk"); echo " "; var_dump(headers_sent()); //这里明明是false????????????? bool headers_sent ( [string &file [, int &line]] )如果 HTTP 标头尚未被发送出去的话,headers_sent() 将返回 FALSE,否则返回 TRUE。如果指定了可选参数 file 和 line, headers_sent() 将会把 PHP 的文件名以及从哪一行开始有输出放到 file 和 line 变量中。 一旦标头已经被发送,将不能再使用 header() 函数来发送其它的标头。使用此函数至少可以避免避免与 HTTP 标头有关的错误信息。另一个选择是使用输出缓存。 php 默认输出缓存是打开的,所以 headers_sent 总是返回假#3 的 flush() 将输出缓存中的内容推出(真正输出了),所以其后的 headers_sent 返回真 随机数 php+mysql中的last_insert_id() 发帖求助问下数据库字段的长度,谢谢 请问个MYSQL的问题 time(),date()问题 我用php读取文件中的中文字符为什么变成乱码? 收集PHP操作word,excel非数据库文档的方法文章 使用MYSQL要下载哪些东东呀。 关于使用PHPED的问题,虚心向各位请教,望不吝赐教: php option下拉框报个syntax error错误 用phpexcel导,入,中目前出现2个数据格式问题 PHP 面向对象开发的一些问题
flush();//刷新输出缓冲
var_dump(headers_sent());
比如在什么情况下,headers_sent返回true??
headers_sent都会返回true
例如
header("Content-type: text/html; charset=gbk");
echo " ";
var_dump(headers_sent());
echo " ";
var_dump(headers_sent()); //这里明明是false?????????????
#3 的 flush() 将输出缓存中的内容推出(真正输出了),所以其后的 headers_sent 返回真