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将向Java靠拢
Oct 09 PHP
php面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
php后台如何避免用户直接进入方法实例
Oct 15 PHP
php反射应用示例
Feb 25 PHP
修改ThinkPHP缓存为Memcache的方法
Jun 25 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php数值计算num类简单操作示例
May 15 PHP
PHP正则表达式函数preg_replace用法实例分析
Jun 04 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之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
关于js类的定义
2011/06/28 Javascript
javascript:history.go()和History.back()的区别及应用
2012/11/25 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
详解js中==与===的区别
2017/01/08 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
vue页面引入three.js实现3d动画场景操作
2020/08/10 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
Python 字典(Dictionary)操作详解
2014/03/11 Python
解决python3 网络请求路径包含中文的问题
2018/05/10 Python
在python里面运用多继承方法详解
2019/07/01 Python
Python的Lambda函数用法详解
2019/09/03 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
Python类中self参数用法详解
2020/02/13 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
Python模块zipfile原理及使用方法详解
2020/08/04 Python
python实现图片素描效果
2020/09/26 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
乌克兰电子和家用电器商店:Foxtrot
2019/07/23 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
10条PHP编程习惯
2014/05/26 面试题
数控技术学生的自我评价
2014/02/15 职场文书
客户经理竞聘演讲稿
2014/05/15 职场文书
六查六看剖析材料
2014/10/06 职场文书
2014年居委会工作总结
2014/12/09 职场文书