0

データベースの実装を使用して、サーバーで一度に 1 つのダウンロードのみに制限しています。これは一種のエラーが発生しやすく、既知の問題があるため、代わりにセッション変数を使用して実行しようと考えました。唯一の問題は、ファイルの送信を開始する前に次のコマンドを使用して、ユーザーがダウンロード中にサイトを閲覧できるようにすることです。

session_write_close();

セッションに変数が存在するかどうかを確認し、追加していない場合はセッションを閉じ、同じセッションを再度開いて、追加した古い変数を削除します。これは可能ですか?または、これについてもっと簡単な方法はありますか?または、dbの実装に固執する必要があります。

ありがとう

4

2 に答える 2

1
<?php

session_start();

if (isset($_SESSION['downloading']))
    die("You already have a download in progress.");

$_SESSION['downloading'] = 1;

session_write_close();

//send the file

?>
于 2012-08-22T02:36:51.073 に答える
0

最終的に、セッションで破損が発生していたため、安定したセッション ソリューションを見つけることができなかったので、今のところデータベースの実装に固執することになりました。申し訳ありませんが、この質問は今後の検索には役立ちません:(

于 2012-08-23T15:12:40.280 に答える