代码:

header("location:../member_index.php");

PHP在执行这段代码的过程中,出现了Cannot modify header information的错误。网上各家解决方法繁多。

问题解疑:

   这种问题源自于PHP4.0。当PHP在涉及到Header函数的输出时。符合以下条件将会发送错误代码反之则不发出:

1.Header(函数)执行修改标题信息时,PHP会将其保存在一个表中,并允许修改其信息。这时PHP则不会发送错误代码!

2.当Header()函数执行的非修改标题信息的时候,那么php就必须先发送所有的标题,然后再送出空行,终止 http header,而在此之后才会继续发送主体数据。从这时开始,所有添加或修改标题信息的试图都是不允许的,并会发送上述的错误消息之一。
 

     虽然这并不会引起多大的问题,有时候只是在发出所有输入之前终止http header,从而引起脚本逻辑的复杂化而已。由此output buffering技术能解决这些问题。

解决办法:

    修改系统目录下存放的PHP.INI文件。查找output buffering这时,这个功能默认为Off(关闭状态)。我们现在将它改为4096.用于解决显示提示错误,不能按(日期+导出文件数)为文件名的错误信息.