Read it later.

Web製作に関するサーバ構成やコーディングネタの備忘録として使ってます。

*

headers_list

   

リダイレクトやNot Found処理をする時に、header()を使用しHTTP ヘッダを送信、
また、その直前にheaders_sent()を使用してヘッダが既に送信されているかどうかを調べる。

というところまではパターン化してたけど、
実際、ヘッダーが出力されないはずの箇所でヘッダーが既に送信済みってケース良く見かけますよね。
そういうケースに、headers_list()を使用すると良いみたい。
「送信した (もしくは送信される予定の) レスポンスヘッダの一覧を返す」らしい。
実行例と出力例は、下記の通り。

/* setcookie() でレスポンスヘッダをそれ自身に追加します */
setcookie('foo', 'bar');
/* 独自のレスポンスヘッダを定義します。
   これはほとんどのクライアントで無視されます */
header("X-Sample-Test: foo");
/* レスポンスがプレーンテキストだと宣言します */
header('Content-type: text/plain');
/* 送信しようとしているヘッダは? */
var_dump(headers_list());
array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

 - PHP

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

centos
GeoIPのインストール

IPアドレスから国や都市を取得するためのライブラリが、MaxMind社のGeoI …

mysql
[MySQL][phpMyAdmin]Allowed memory size of XXXXXX bytes exhausted (tried to allocate XXXXXX bytes)

こんな現象がおきました phpMyAdminでデータベース全体をエクスポートした …

php
$_REQUEST($_POST)に全てのアイテムが格納されない – max_input_vars

フォームに大量のINPUTタグを配置している場合に、 部分的には取れるけど、PO …

php
マルチバイト文字列を1文字づつ分解して配列化する – preg_split

便利な標準関数があったので、サンプルを。 マルチバイト文字列を1文字づつ分解し配 …

php
[Smarty]確認画面などで使う、Hidden項目を全力で自動生成

入力確認画面や完了通知画面で、前画面(入力画面)のリクエストを元に一気にHidd …

php
$_SERVER[“REQUEST_TIME_FLOAT”]

$_SERVER[“REQUEST_TIME”]には置き …

php
Smarty2からSmarty3へのアップグレードガイド

Smarty2を以前から愛用していたのだけど、Smarty3にそろそろ移行しよう …