Cannot modify header information错误解决方法_PHP教程

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2020年10月7日15:22:40 评论 8 views 1600字阅读5分20秒

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函数必須在任何資料輸出至浏览器前,就先送出

基於上面這些限制,所以執行setcookie()函數時,常會碰到"Undefined index"、"Cannot modify header information - headers already sent by"…等問題,解決"Cannot modify header information - headers already sent by"這個錯誤的方法是在產生cookie前,先延緩資料輸出至瀏覽器,因此,您可以在程式的最前方加上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中session和cookie数据传值功能 php教程

实现PHP中session和cookie数据传值功能

1.session 登录上一个页面以后,长时间没有操作,刷新页面以后需要重新登录。 特点:(1)session是存储在服务器;    (2)session每个人(登陆者)存一份;    (3)sess...
php 输出文字到图片上(文字水印)的代码 php教程

php 输出文字到图片上(文字水印)的代码

分享一段php代码,可实现将文字写到图片上的功能,有需要的朋友参考下吧。 有时,我们需要将一些文字打在图片上,即所谓的文字水印。 本节分享的这段代码,借助php的图像函数,可以实现这样的功能。 如果文...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: