在多人协同搞一个php项目时,有时候不确实页面的HTTP头是否已发送,就需要判断一下,如果HTTP头没有发送过就可以发送一次,而PHP脚本也提供一个判断HTTP头是否已发送的函数 headers_sent().
php headers_sent() 函数介绍
headers_sent():检测HTTP头是否已发送,如果已发送返回 TRUE ,如未发送返回 FALSE
语法:headers_sent ($file = ? , &$line = ? )
参数:
若设置了可选参数 file 和 line,则 headers_sent() 会把 php 文件名放在 file 变量里,输出开始行号放在 line 变量里。
file:php文件名
line:输出开始的行号
php 判断http头是否已发送的方法
例1:php 判断是否定义了页面的编码if (!headers_sent()) {
header('Content-type: text/html; charset=utf-8');
}
例2:php 判断是否已发送HTTP头的方法header('content-type:text/html;charset=utf-8');
echo 'feiniaomy.com
';
ob_end_flush();
if(headers_sent()){
echo 'HTTP头已发送!';
}else{
echo 'HTTP头未发送!';
}
例3:headers_sent() 使用参数的方法header('content-type:text/html;charset=utf-8');
echo 'feiniaomy.com
';
ob_end_flush();
if (!headers_sent($file, $line)) {
header('content-type:text/html;charset=utf-8');
exit;
} else {
// 很有可能在这里触发错误
echo $file;
echo '
';
echo $line;
exit;
}