8

このシナリオは可能ですか?

顧客が私の Web サイトにアクセスし、興味のある PDF 技術文書をダウンロードしたい場合、[ダウンロード] ボタンをクリックすると、Facebook 共有ウィンドウが表示され、ログインして Facebook で共有できます。[共有] をクリックしてウォールに投稿すると、ダウンロードが開始されますか?

どうもありがとう。

イアン

4

2 に答える 2

2

ありがとう、完璧に動作します!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 の場合、ダウンロードが自動的に開始されます。また、セッションが破棄されるため、一度しかダウンロードできません。

于 2013-10-27T13:02:50.007 に答える