当前位置: 代码迷 >> PHP >> (50分)PHP执行遇到 Warning: Cannot modify header information,解决方法
  详细解决方案

(50分)PHP执行遇到 Warning: Cannot modify header information,解决方法

热度:758   发布时间:2012-03-04 11:13:33.0
(50分求助)PHP执行遇到 Warning: Cannot modify header information,请教大家解决办法
Warning:   Cannot   modify   header   information   -   headers   already   sent   by   (output   started   at   xxxxxx)   in   xxxxx   line   31

code:

if($_GET[ "act "]   ==   "do ")
{
$newdir   =   $dir.$_POST[ "dir "]. "/ ";
$uploadfile   =   $newdir.basename($_FILES[ 'file '][ 'name ']);
//echo   $newdir;
if(move_uploaded_file($_FILES[ 'file '][ 'tmp_name '],   $uploadfile))
{
header( "Location:index.php?dir= ".$_POST[ "dir "]);
}
else
{
die( "上传文件错误 ");
}
}

其中第31行为
header( "Location:index.php?dir= ".$_POST[ "dir "]);

小弟我已经网上寻找解答很久,依旧没有解决办法,请教各位了

------解决方案--------------------
可能UTF保存了 BOM 头...
把文件 用 EditPlus 打开去掉BOM头
------解决方案--------------------
两个解决方法
1.新建个字符编码为 utf-8 的文件把文件内容复制进去-> 保存!
我是这么想的,大概在修改文件的字符编码的时候,文件不被显示的header部分被修改了,导致以上错误!
2.如johnpanq(飞花逐月)所回答!
为了方便你可以将js脚本写入你的自定义函数库
以后直接调用就可以了,因为header问题确实很麻烦!
------解决方案--------------------
少了个"号
应该是:
echo ' <script language= "javascript "> ';
echo 'location.href= "index.php?dir= '.$_POST[ 'dir ']. ' "; ';
echo ' </script> ';

你的BOM头,可能在所有的文件中都存在,而不只是一个文件.
  相关解决方案