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 access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
Aug 11 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
用mysql_fetch_array()获取当前行数据的方法详解
Jun 05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
Jun 26 PHP
php显示指定目录下子目录的方法
Mar 20 PHP
php while循环控制的简单实例
May 30 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
Feb 04 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 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
77A一级收信机修理记
2021/03/02 无线电
树型结构列出指定目录里所有文件的PHP类
2006/10/09 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
Yii全局函数用法示例
2017/01/22 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
vue计算属性时v-for处理数组时遇到的一个bug问题
2018/01/21 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python面向对象class类属性及子类用法分析
2018/02/02 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python的对象传递与Copy函数使用详解
2019/12/26 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
工作中个人的自我评价
2013/12/31 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
索桥的故事教学反思
2014/02/06 职场文书
带病坚持工作事迹
2014/05/03 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
2014年维修工作总结
2014/11/22 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书