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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
PHP中的错误处理、异常处理机制分析
May 07 PHP
PHP Cookie的使用教程详解
Jun 03 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
php中的ini配置原理详解
Oct 14 PHP
PHP中的Session对象如何使用
Sep 25 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
Laravel框架模板继承操作示例
Jun 11 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 curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
python调用API实现智能回复机器人
2018/04/10 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
Python如何telnet到网络设备
2021/02/18 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
Spanx塑身衣官网:美国知名内衣品牌
2017/01/11 全球购物
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
毕业生怎样写好自荐信
2013/11/11 职场文书
市场部专员岗位职责
2013/11/30 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
给校长的建议书范文
2015/09/14 职场文书
Android Studio 计算器开发
2022/05/20 Java/Android
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android