###前提・実現したいこと
PDFファイルのリンクをクリックしたらブラウザで表示するのではなく、ダウンロードするようにしたいと考えています。
PDFのファイル名は半角英数字と「-」「_」で構成されています。
htaccessでの設定とphpでの設定をそれぞれ試してみたところ、htaccessでは思ったような挙動にならず、PHPでは思っていた挙動が実現できました。
しかし、すでにPDFへのリンクを埋め込み済みのページへの適用ということと、PDFファイルの数がかなり多いので、できればhtaccessで設定した時のように一括でPDFへのリンクをダウンロードできるようにする方法はないでしょうか?
(試したPHPの記述方法では全てのPDFへのリンクを修正しないといけないので)
JSやPHPなどご存知の方法がございましたら教えていただけますと幸いです。
何卒よろしくお願いいたします。
###試したこと1(htaccessでの設定)
htaccessに下記記述を追加し、一括でaタグに指定したPDFファイルへのリンクをダウンロードするように設定して確認みたところ、ファイルによってダウンロードできたりブラウザで表示したりとまちまちな挙動になってしまいました。
htaccess
1AddType application/octet-stream .pdf
###試したこと2(PHPでの設定)
phpでPDFをダウンロードできるようにする方法を試してみたところ、こちらはちゃんとダウンロードするようになりました。
PHP
1$dir_path = "/assets/pdf/"; 2$file = array( 3 'PDF01' => 'test/Test01.pdf', 4 'PDF02' => 'test/Test02.pdf', 5 'PDF03' => 'test/Test03.pdf' 6); 7if(isset($_GET['id'])){ 8 foreach($file as $key => $value){ 9 if($_GET['id'] == $key){ 10 header('Content-Type: application/pdf'); 11 header('Content-Disposition: attachment; filename="' . $value . '"'); 12 header('Content-Length: '.filesize($dir_path . $value)); 13 readfile($dir_path . $value); 14 break; 15 } 16 } 17}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/26 06:46