• ベストアンサー

PDFのダウンロードサイトを作成したい

PDFのダウンロードサイトを作成したい phpで作成したいのですが、 個人情報をフォームでユーザーさんに入力していただいた後、 pdfをダウンロードさせたいのですが、 どのような仕組みにすればいいでしょうか。 pdfへの絶対URLをポコッと表示させてあげればいいかと考えていたんですが、 よく考えるとそれだとURLをたたけば誰でも閲覧できてしまうので、 そうできないようかつ、pdfをダウンロードさせることは可能でしょうか? 何かアイデア・考え方をご教授いただければと思います。

質問者が選んだベストアンサー

  • ベストアンサー
noname#119140
noname#119140
回答No.1

僕はその方面の知識に乏しいので、Webメールの自動返信機能を使ってダウンロードアドレスを返すようにしています。 この方法なら相手のメールアドレスは分かりますし、名前も件名に書いてもらえばいいので、この方法を採用しています。

trfnc223
質問者

お礼

ご回答ありがとうございます。 最悪その方法でもいいですね。 特に他の方に見られてはいけない内容のものではないので。 ありがとうございます!

その他の回答 (1)

  • bx2
  • ベストアンサー率47% (97/206)
回答No.2

キャッシュは無効にした方が無難かと思い、参考URLの例1と例2を合わせました。 Content-Lengthヘッダは無くても良いけど、ファイルサイズが大きい場合はあった方が親切です。 PDFファイルをWebから直接参照できないパスに置くことで、PHPプログラムを介してでないとアクセスできない仕組みです。 <?php // キャッシュ無効 header("Cache-Control: no-cache, must-revalidate"); // キャッシュ有効期限 header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // PDFを出力します header('Content-type: application/pdf'); // downloaded.pdf という名前で保存させます header('Content-Disposition: attachment; filename="downloaded.pdf"'); // ファイルサイズ header('Content-Length: ' . filesize('original.pdf')); // もとの PDF ソースは original.pdf です readfile('original.pdf'); ?>

参考URL:
http://www.phppro.jp/phpmanual/php/function.header.html
trfnc223
質問者

お礼

ご回答ありがとうございます。 アクセスできないパスに保存して、ヘッダーで一時的に取りに行くというイメージですね! それはもう点でした。 ありがとうございました!

関連するQ&A