3

私はバンドのウェブサイトを作っています、そして彼らは彼らのEPを無料で配っています、しかし彼らはそれを望んでいるのでユーザーはダウンロードする前に彼らのメールアドレスを入力しなければなりません...これはphpでどのように行われますか?

4

2 に答える 2

2

ダウンロード可能なものは、Webユーザーの手の届かないところに配置する必要がありますが、PHPスクリプトの手の届く範囲に配置する必要があります。次に、ユーザーがフォームへの入力を完了したら、「fopen」などを使用してローカルでファイルを開くことにより、ファイルの内容を強制的にダウンロードできます。

更新(サンプルコードの追加):

ファイルが「txt.txt」であり、スクリプトの範囲内にある可能性があるとします。ヘッダーを呼び出して添付ファイルであることを伝えた後、それを開いて読み、内容を配置します(強制ダウンロード)

$done  = true;
        if($done == true){

            $filename = "txt.txt";
            $conn = fopen($filename,"r");

            $contents = fread($conn, filesize($filename));
            fclose($conn);
            header('Content-type: text/plain');         
            header('Content-Disposition: attachment; filename="downloaded.txt"');
            echo $contents;



        }
于 2012-05-29T13:21:38.460 に答える
0

なんらかの方法でメールを保存している場合は、メール$_SESSIONを送信するときに値を設定するだけです。ページを作成するときに、$_SESSION値の一部が設定されている場合は、メディアへのリンクを提供します。

セッションを開始して値を設定するには:

session_start();
$_SERVER['hasEmail']=true;

そしてページで:

session_start();
if ($_SERVER['hasEmail']) {
    //Provide link
}

fopen()次に、メディアリンクを使用して、ファイルシステム上の別の場所(.htaccessブロッキングの下など)からファイルを取得するために使用するPHPスクリプトに移動することもできます。これにより、メディアは$_SESSION値が設定されています。

于 2012-05-29T13:22:03.807 に答える