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