Cannot modify header information错误解决方法


Posted in PHP onOctober 08, 2008

<?php
ob_start();
setcookie("username","宋岩宾",time()+3600);
echo "the username is:".$HTTP_COOKIE_VARS["username"]."\n";
echo "the username is:".$_COOKIE["username"]."\n";
print_r($_COOKIE);
?>
Warning: Cannot modify header information - headers already sent by出错的原因
我在php程序的头部加了,
header("cache-control:no-cache,must-revalidate");
之后页面就出现上面的错误,看了N个资料也没有结果。今天偶尔发现原来是我的php.ini里面的配置出了问题,在C:\windows\下找到php.ini文件
output_buffering默认为off的。我现在把它设为4096就OK了。
用于解决显示提示错误,不能按(日期+导出文件数)为文件名的错误信息.
setcookie函数必?在任何?料?出至浏览器前,就先送出
基於上面?些限制,所以?绦?etcookie()函??r,常??龅?Undefined index"、"Cannot modify header information - headers already sent by"…等???,解?Q"Cannot modify header information - headers already sent by"?????的方法是在?生cookie前,先延??料?出至?g?器,因此,您可以在程式的最前方加上ob_start();???函?怠
ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车\空格\换行\都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:

1.用于header()之前

ob_start(); //打开缓冲区
echo \"Hellon\"; //输出
header("location:index.php"); //把浏览器重定向到index.php
ob_end_flush();//输出全部内容到浏览器
?>

2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息用缓冲区的方法是最好的选择.
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info
$file=fopen(\'info.txt\',\'w\'); //打开文件info.txt
fwrite($file,$info); //写入信息到info.txt
fclose($file); //关闭文件info.txt
?>

3.静态页面技术
ob_start();//打开缓冲区
?>
php页面的全部输出
$content = ob_get_contents();//取得php页面输出的全部内容
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后……
fclose($fp);
?>

4.输出代码
Function run_code($code) {
If($code) {
ob_start();
eval($code);
$contents = ob_get_contents();
ob_end_clean();
}else {
echo "错误!没有输出";
exit();
}
return $contents;
}

PHP 相关文章推荐
PHP的FTP学习(一)
Oct 09 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 PHP
PHP类的反射用法实例
Nov 03 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
为你总结一些php系统类函数
Oct 21 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
Feb 05 PHP
PHP实现根据密码长度显示安全条
Jul 04 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 #PHP
php 友好URL的实现(吐血推荐)
Oct 04 #PHP
PHP注释实例技巧
Oct 03 #PHP
使用eAccelerator加密PHP程序
Oct 03 #PHP
一些使用频率比较高的php函数
Oct 03 #PHP
PHP base64+gzinflate压缩编码和解码代码
Oct 03 #PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 #PHP
You might like
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
php函数的常用方法及注意之处小结
2011/07/10 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
php实现微信发红包
2015/12/05 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
PHP中的self关键字详解
2019/06/23 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
如何检测JavaScript的各种类型
2016/07/30 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
Python中暂存上传图片的方法
2015/02/18 Python
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
Canvas制作旋转的太极的示例
2018/03/09 HTML / CSS
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
九年级科学教学反思
2014/01/29 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
说明书怎么写
2014/05/06 职场文书
小学教师师德承诺书
2014/05/23 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
主持人开场白台词
2015/05/29 职场文书
宝塔更新Python及Flask项目的部署
2022/04/11 Python
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle
Golang gRPC HTTP协议转换示例
2022/06/16 Golang