作成日:2018-07-13, 更新日:2019-12-14
基本
特別な理由が無い限りHTMLタグを使えばいい。
画像ならimgタグ。PDFなら直リンでいいんじゃないかな。
HTMLタグを使わずにブラウザに出力する場合
▼サンプル
$path = ファイルのPATH; $mime = mimeタイプ; header('Content-Type: ' . $mime); readfile($path);
※前後に何かを出力するとエラーになったりするかも。「readfile()」の次は「exit()」にして終わらせておくのが良さげ。
画像を表示
$path = 画像のPATH; $mime = 'image/jpeg'; // 画像のmimeタイプ(「.jpg」の場合) header('Content-Type: ' . $mime); readfile($path);
※「MIMEタイプ」に色々とメモった。
PDFを表示
$path = PDFのPATH; $mime = 'application/pdf'; // PDFのmimeタイプ header('Content-Type: ' . $mime); readfile($path);
メモ
「Content-Disposition」を設定するっていうのもあったりする。ひとまずメモ。
※ブラウザで表示して、その後、ブラウザからダウンロードさせるときのファイル名を指定する。
$fileName = ダウンロード時のファイル名; $path = ファイルのPATH; $mime = mimeタイプ; header('Content-Type: ' . $mime); header('Content-Disposition: inline; filename="' . $fileName . '"'); header('Content-Length: ' . filesize($path)); readfile($path);
※「Content-Disposition: inline;」を「Content-Disposition: attachment;」に変更するとダウンロードになる