tetsunosukeのnotebook

tetsunosukeのメモです

header already sent

"余計な改行を出力しない方法" 、これは確かにPHPコードからだけのみのファイルには終了タグを書かない、で、解消はできるんだけど、個人的には

原因が全く分からない。上司の助けが無かったら1日潰れていたかもしれない。

あーそれはどうよ、って思ったのでコレ。
"PHP: headers_sent"

第二引数まで使えば、こんなことまでできちゃうよ。

if (!headers_sent($filename, $linenum)) {
    header('Location: http://www.example.com/');
    exit;

// おそらく、ここでエラー処理を行うでしょう。
} else {

    echo "$filename の $linenum 行目でヘッダがすでに送信されています。\n" .
          "リダイレクトできません。代わりにこの <a " .
          "href=\"http://www.example.com\">リンク</a> をクリックしてください。\n";
    exit;
}