質問: read_file("作成したPDFファイルのパス"); $this->output ->set_header('Content-Disposition: inline; filename="sample.pdf"') ->set_content_type("application/pdf") ->set_output($data); } ``` 実ファイルを作成する前と同様、 ファイルの内容は表示されるけど、ダウンロードを押すとネットワークエラーになってしまいました。 またブラウザ上に表示されるファイル名もsample.pdfではなくパラメーター名になってしまいました。 ### (追記) 解決した設定 asahina1979さんにご指摘頂いて、作成したPDFがキャッシュされるように指定を加えました。 ``` $this->output ->set_content_type("application/pdf") ->set_header('Content-Disposition: inline; filename=sample.pdf') // 追加ここから ->set_header('Last-Modified: Fri Jan 01 2010 00:00:00 GMT') ->set_header('Expires: Fri Jan 01 2019 00:00:00 GMT') // お試しで未来日を入れる ->set_header('Cache-Control: private, max-age=86400') // お試しで1日にしてみる // 追加ここまで ->set_output($pdf->getOutputFromHtml($html)); ``` インラインで表示後ダウンロードアイコンを押して正常にダウンロードされるようになりました。 ファイル名についてもキャッシュの設定を加えることで反映されるようになり、sample.pdfとしてダウンロードできました。 ありがとうございました! ### 補足情報(FW/ツールのバージョンなど) PHP 7.1 CodeIgniter 2 GoogleChrome wkhtmltopdf(PDF作成用) Snappy(PDF作成の元ネタHTML作成用)
回答: 通信ログがないということはキャシュから取得していると思われるので キャッシュを未来日に設定してはいかがでしょうか?