(50分)PHP執行遇到 Warning: Cannot modify header information,解決方案
最後更新:2016-06-13
來源:互聯網
上載者:User
(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 ' ';
你的BOM頭,可能在所有的檔案中都存在,而不只是一個檔案.