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 相关文章推荐
动态新闻发布的实现及其技巧
Oct 09 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
基于PHP静态类的原罪详解
May 06 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
PHPThumb图片处理实例
May 03 PHP
PHP程序员基本要求和必备技能
May 09 PHP
PHP滚动日志的代码实现
Jun 10 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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
模拟xcopy的函数
2006/10/09 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
javascript 写类方式之八
2009/07/05 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
安装docker-compose的两种最简方法
2019/07/30 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
Amaze UI 文件选择域的示例代码
2020/08/26 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
精选干货:Java精选笔试题附答案
2014/01/18 面试题
销售心得体会
2014/01/02 职场文书
项目开发计划书
2014/01/09 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
设备管理实施方案
2014/05/31 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
保送生自荐信
2015/03/06 职场文书
2015年采购工作总结
2015/04/10 职场文书
教师学习心得体会范文
2016/01/21 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
关于的python五子棋的算法
2022/05/02 Python