- ベストアンサー
header() 関数が必要になる場面は?
http://php.net/manual/ja/function.header.php にheader() 関数の使い方が説明されていますが、 生の HTTP ヘッダを送信するというのは、オートで送信されているのを カスタマイズしてサーバーの動きを操作するということですよね。 この関数を利用するのは、どういった場合に必要になるのでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 例えばですがファイルのダウンロードをさせるPHPを作る場合は以下のようなヘッダを出力します。 header ( 'Content-type: application/octet-stream' ); header ( 'Content-Disposition: attachment; filename="filename.jpg"' ); header ( 'Content-Length: ' . filesize($fileName) ); この場合、ブラウザ側はfilename.jpgという名前でダウンロードのダイアログを出してくれます。 後は画像をブラウザに出力する例として header ( 'Content-type: image/jpeg' ); readfile ( '画像へのパス' ); としておくと <img src="./image.php">とすればブラウザに画像が表示されます。 これなんかはデータベースに直接画像データを保存しておいてその画像を表示するときに利用したりします。 要はこちらで何か特定しておきたい時に利用します。 あと良く使われるのは header ( 'Location: ./index.html' ); とかしておけばこの記述のあるPHPにアクセスがあるとindex.htmlに飛ばされます。
その他の回答 (3)
- asobi17
- ベストアンサー率25% (4/16)
以前、短縮URLシステムを独学で作ったのですが そのときに使いました。 流れとしては ・短縮したいURLをフォームに入れる。 ・適当な文字を入れたデータベースから、urlを吐き出す。 こんな感じです。(このURLはダミー) http://adv.php?id=ab abの所がデータベースから取り出した適当文字です。 ・吐き出したURLを入力されたら、abを手がかりにデータベースから 元のURLを取り出す。 ・あとは転送をかけて、おしまいです。 header('Location':http://www.yahoo.co.jp); ------------------------------- 本当のURL短縮サービスでは、 こんなに簡単じゃないと思いますが、多分原理としてはこんな感じだと思います。
- okbakasine
- ベストアンサー率27% (67/242)
・PHPでhtml以外を出力したいとき。画像ファイルとかPDFなど そのときにheader()でContent-Disposition: attachment; filename="ファイル名" を指定してファイル名をつける名をつけることによってダウンロード時にそのファイル名になって保存することが出来る。 ・意図的にエラー表示させたいとき(定番の使い方はIPなどによるアクセス拒否) ・ページをリダイレクトさせたいとき
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 まぁ、 あとは、文字化けの原因になる文字コードを指定したり、 キャッシュの抑制とか・・・。 使い道は様々なので、工夫次第です・・・。