headers_sentとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > headers_sentの意味・解説 

headers_sent

(PHP 4, PHP 5)
headers_sent — ヘッダが既に送信されているかどうかを調べる

説明

bool headers_sent ( [string &file [, int &line]] )
headers_sent() は、HTTP ヘッダが既に送信されている場合に TRUE 、そうでない場合に FALSE を返します。 また、オプション引数の fileline がセットされている場合、 PHP のソースファイル名と出力が開始された行番号が、それぞれ fileline に格納されます。
ヘッダブロックがいったん送信されてしまった後で header() 関数を使って新たなヘッダ行を送信することはできません。 この関数を使うには、少なくとも HTTP ヘッダ関連のエラーを予防する必要があります。 あるいは、出力バッファリングを 使う方法もあります。
注意: オプションのパラメータ fileline が PHP 4.3.0 で追加されました。
例 1498. 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() を参照ください。



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「headers_sent」の関連用語

headers_sentのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



headers_sentのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2025 by the PHP Documentation Group.

©2025 GRAS Group, Inc.RSS