Cannot modify header information错误解决方法
2015-01-24信息快讯网
Warning: Cannot modify header information - headers already sent by出错的原因
<?phpob_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函数必在任何Y料出至浏览器前,就先送出
基於上面@些限制,所以绦setcookie()函r,常碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等},解Q"Cannot modify header information - headers already sent by"@e`的方法是在a生cookie前,先延Y料出至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;
}
Windows下XDebug 手工配置与使用说明
PHP中文URL编解码(urlencode()rawurlencode()
《Head First 设计模式》代码之PHP版(面向对象学习)第1/2页
PHP print类函数使用总结
php $_SERVER["REQUEST_URI"]获取值的通用解决方法
PHP XML error parsing SOAP payload on line 1
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
phpmyadmin里面导入sql语句格式的大量数据的方法
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
phpmyadmin 3.4 空密码登录的实现方法
php UTF-8、Unicode和BOM问题
php 提速工具eAccelerator 配置参数详解
Godaddy空间Zend Optimizer升级方法
php获取地址栏信息的代码
不用mod_rewrite直接用php实现伪静态化页面代码
使用eAccelerator加密PHP程序
PHP base64+gzinflate压缩编码和解码代码
PHP Header用于页面跳转要注意的几个问题总结
PHP伪造referer实例代码
PHPMailer邮件类利用smtp.163.com发送邮件方法
php include,include_once,require,require_once
PHP define函数的使用说明
swfupload 多文件上传实现代码
phpMyAdmin2.11.6安装配置方法
php-5.2下php.ini 中文版配置说明第1/3页
特详细的PHPMYADMIN简明安装教程
phpmyadmin的安装与使用图文教程第1/2页
php-accelerator网站加速PHP缓冲的方法
php include的妙用,实现路径加密
php header()函数使用说明