ソリューションは、サーバー側の 2 つの部分に分割されます。まず、ユーザー入力を処理するためのサーバー側コードと、メール アドレスからファイル名へのマッピングを格納するためのデータベースが必要です (ただし、これはサーバー上にある単なるテキスト ファイルである可能性があります)。
サーバー側スクリプト
サーバーサイド スクリプト言語に関しては、非常に人気のあるPHPなど、さまざまな選択肢があります。PHPは、ほとんどの Web ホスティング会社からサポートされていますが、設計上の問題が多く、(私の考えでは) 避けるべきです。すべての費用。ただし、それでも目的には十分です。
対極にあるのは非常に高速なnode.jsです。これにより、JavaScript を使用して Web アプリケーションをプログラミングできます。これは間違いなくそうするためのより快適な手段ですが、ホスティングは通常より高価であり、大規模なユーザーベースを持つ Web アプリケーションを対象としています.
他にも多くの可能な解決策がありますが、議論のために、PHP を使用していると仮定します。
データベース
データベースの役割は、電子メール アドレスとそれぞれのファイル ダウンロード パスとの関係を保存することだけです。繰り返しになりますが、さまざまなソリューションが多数あり、それらに賛成または反対する人もいます。最も信頼性の低いソリューションの 1 つ (残念ながら、信じられないほど広くサポートされており、PHP と緊密に連携している) はMySQLです。これも議論のために使用します。
使い方
Web アプリケーションは、最初にユーザー入力 (つまり、HTML フォームから送信されたユーザーの電子メール アドレス) をチェックします。それで:
ユーザーが何も送信していない場合は、次のような HTML フォームを含むページを出力します。
<form action="thispage.php" method="post">
<input type="text" name="email" value="Enter your address here" />
<input type="submit" value="Get my file!" />
</form>
ユーザーが送信ボタンをクリックすると、入力された電子メールアドレスが送信されthispage.php
ます (または、このスクリプトを呼び出すことを決定したもの)。
ユーザーが電子メール アドレスを送信した場合 (つまり、ユーザーが上記のフォームのボタンをクリックした場合)、電子メール アドレスを使用してデータベースにクエリを実行し、ユーザーのファイルがどこにあるかを調べます。これを行う方法については、無数のチュートリアルがあります。ここには、PHP の簡単な例があります。
ファイル パスがデータベースから取得されたら、HTML を「Thank you!」として出力できます。ページ、PDF ファイルへのリンク、または次のコードを使用してすぐにリダイレクトするだけです。ここ$URL
で、 はファイルの URL です。
<?php
header('Location: ' . $URL);
?>
これを行う方法には、別の方法があります。PDF ファイルを許可されていない人から隠しておきたい場合は、サーバー上のどこかに保存して、外部からアクセスできないようにし、ファイルの内容をページに出力するだけです。 . これは次のようになります。ここ$path
で、 はサーバーのファイル システム上の PDF ファイルへのパスです。
<?php
header('Content-type: application/pdf');
echo file_get_contents($path);
?>
これで始められることを願っています。さらにガイダンスが必要な場合は、質問するのに適切な場所にいます。