PHPヘッダ関数に関して令和3年 1月 30日 作成

00177

概略

HTTPによるリクエスト(要求)・レスポンス(応答)時の情報を定義する為のもので、header関数を使うことで生のHTTPヘッダを送信することができる。

手段

header関数は通常のHTMLタグまたはPHPからの出力にかかわらず全ての出力の前にコール(記述)する。

実装方法

構文

header(ヘッダ文字列, オプションパラメータ, レスポンスコード);

記述例

// HTMLファイル
header('Content-Type: text/html; charset=UTF-8');

// JSONを出力するとき
header('content-type: application/json; charset=UTF-8');

Content-typeヘッダでは送信文字コードを知らせることができる。下記では「UTF-8」で書かれていることをブラウザ伝えている。

使用例 1

PHPを介して対象ファイルをダウンロードさせる方法。

<?php
	// ダウンロードする対象ファイル
	$file = '/img/sample.jpg';
     
	// HTTPヘッダ設定
	header('Content-Type: application/octet-stream'); // .zip .txt 等々のファイルも考慮し
	header('Content-Length: '.filesize($file));
	header('Content-Disposition: attachment; filename='.$file);
    
	// ファイルを読み込んで標準出力に書き出す
	readfile($file);
?>

使用例 2

PHPを介して対象画像データを表示させる方法。

// HTMLファイルの中身
<img src="test.php" alt="***" width="***" height="***" />

// [test.php]ファイルの中身
<?php
	header("content-type: image/jpeg");
    
	// ファイルを読み込んで標準出力に書き出す
	readfile('img/sample.jpg');
?>

使用例 3

指定したページへリダイレクトさせる方法。

<?php
	// サイトトップページへ
	header('Location: /');
	exit();
    
	// 他のサイトへ
	header('Location: https://www.google.com/');
	exit();
?>

考察

忘れないように少しまとめてみましたが、header関数を使用してさまざまな処理を行う事ができる事の再確認ができた。

最後までお読み下さり ありがとうございました。記事はここ迄です。

尚、本記事は作成から「3年以上」経過しています。

記事作成当時と現在の状況等により内容が適切でない場合があります。また、リンク切れが生じている場合もあります事を予めご了承下さい。

お気に入りに登録しますとお気に入り記事を一元管理でき、再度閲覧したい場合等 容易に記事を探し出す事ができますのでご活用下さい。

下段にはコメントを掲載しております。

広告バナー

コメント

頂いたコメントを下記に掲載しております。更に下部にはコメント投稿フォームを設けております。

注意事項を確認・了承した上、コメント投稿お願いいたします。

注意事項に該当するコメントにつきましては、事前告知なしに投稿したコメントの削除を行う場合があります。

予めご了承下さい。

  • 記事内容と無関係なコメント
  • 公序良俗に反するコメント
  • 個人情報や法令違反を含むコメント
  • その他、管理者が不適切と判断したコメント

現在 頂いているコメントはありません

返信先(コメント管理番号)コメントに対し返信する場合のみ
お名前・ハンドルネーム2~32文字内で入力下さい
メールアドレス公開される事はありません
電話番号半角数字+ハイフンで入力下さい
コメント全角500文字内で入力下さい