はじめに
このheader関数、ページを強制的に移動させるのに使えるのですが、調べてみるとそれが本来の機能ではないようですね。
Contents
header関数
この関数はWebページのヘッダ情報を出力します。この機能を使って、様々な処理が可能です。
さっそく、いろいろな使い方の例を見ていきましょう!
いろいろな使い方
-
ページリダイレクト
まずは、ページをリダイレクトさせる方法。次のようにURLを指定すると、自動的にページがジャンプします。
<?php //Location以降にジャンプしたいページURLを記入 header("Location: https://engideer.com/"); //以下、exit;を追記致しました exit; ?>
追記:header関数の後にexit;を付けないと、header関数の後の処理を実行してからページをジャンプします。全然知りませんでした。汗
-
強制的に404表示
404ページとして認識、表示させる書き方。
<?php header("HTTP/1.0 404 Not Found"); ?>
-
ファイルをダウンロードさせる
指定したファイルをダウンロードさせる書き方。
<?php $file = 'ここにファイルへのパスを記入'; header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="ここにファイル名"'); header('Content-Length: '.filesize($file)); readfile($file); ?>
ざっと見ましたが、他にもいろいろ使えるようです。あとは適宜調べます。
header関数を使う際の注意
最後にこの関数を使用する上での注意点です。
PHPマニュアルによると、「header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要がある」とあります。
つまり、header関数の前にHTMLタグが入っている下のような記述はエラーになります。
//エラーの例 <html> <?php header('Location: https://engideer.com/'); ?>
ということで、このことに気を付けながら使っていきましょう。
参考サイト
- 「PHP マニュアル」、「header」
- 「PHPまとめ」さん「PHPまとめ―ヘッダー」
- 「自由が丘で働いていたWeb屋のブログ」さん「[PHP] 意図的に『404 Not Found』を出力する方法」
- 「PHPSPOT開発日記」さん「PHPでファイルをDLさせる際のPHPコード例」
コメントを残す
コメントを投稿するにはログインしてください。