作成日: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;」に変更するとダウンロードになる