headers_sent
    (PHP 3 >= 3.0.8, PHP 4, PHP 5)
headers_sent -- ヘッダが既に送信されているかどうかを調べる
説明
bool 
headers_sent ( [string &file [, int &line]] )
     headers_sent()
     は、HTTP ヘッダが既に送信されている場合に TRUE 、そうでない場合に
     FALSE を返します。
     また、オプション引数の file と
     line がセットされている場合、
     PHP のソースファイル名と出力が開始された行番号が、それぞれ
     file と line
     に格納されます。
    
     ヘッダブロックがいったん送信されてしまった後で header()
     関数を使って新たなヘッダ行を送信することはできません。
     この関数を使うには、少なくとも HTTP ヘッダ関連のエラーを予防する必要があります。
     あるいは、出力バッファリングを
     使う方法もあります。
    
注意: 
      オプションのパラメータ file と line
      が PHP 4.3.0 で追加されました。
     
     
例 1. headers_sent() 関数の使用例 
<?php
  // ヘッダがまだ何も送信されていない場合に、送信します if (!headers_sent()) {     header('Location: http://www.example.com/');     exit; }    // オプションのfileとlineパラメータの使用例(PHP4.3.0以降) // $filename と $linenum が後で使用されていることに注目。 // これらの変数に事前に値を与えたりしてはいけません。 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; }
  ?>
 |  
  | 
    
     これに関連するより詳細な議論は
     ob_start()、
     trigger_error()、
     header() を参照ください。