このシナリオは可能ですか?
顧客が私の Web サイトにアクセスし、興味のある PDF 技術文書をダウンロードしたい場合、[ダウンロード] ボタンをクリックすると、Facebook 共有ウィンドウが表示され、ログインして Facebook で共有できます。[共有] をクリックしてウォールに投稿すると、ダウンロードが開始されますか?
どうもありがとう。
イアン
このシナリオは可能ですか?
顧客が私の Web サイトにアクセスし、興味のある PDF 技術文書をダウンロードしたい場合、[ダウンロード] ボタンをクリックすると、Facebook 共有ウィンドウが表示され、ログインして Facebook で共有できます。[共有] をクリックしてウォールに投稿すると、ダウンロードが開始されますか?
どうもありがとう。
イアン
ありがとう、完璧に動作します!JSONファイルからダウンロードリンクを取得する方法がわからなかったので、少し違ったやり方をしました。安全ではないかもしれません。
これを応答がチェックされるセクションに追加します
$.post('optimus.php', { 'fieldname' : 'download', 'value' : 'yes'});
セッションを設定する新しいページを作成しました (optimus.php)
<?php
session_start();
$_SESSION[$_POST['fieldname']] = $_POST['value'];
?>
Download.php には次のコードが含まれています
<?php
session_start();
if($_SESSION['download'] == "yes"){
session_destroy();
$file = 'file.zip';
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
} else {
echo "You didn't share, or you already downloaded the file";
}
?>
そのため、ユーザーが何かを共有すると、$_SESSION['download'] が yes に設定されます。Download.php は、yes かどうかをチェックし、yes の場合、ダウンロードが自動的に開始されます。また、セッションが破棄されるため、一度しかダウンロードできません。