-2

すべてのユーザーが関数を使用した回数をカウントする関数をPHPで作成しようとしています。

この関数をたとえば30回使用した場合は、アクセスを数分間ブロックしてから、カウンターを0にリセットする必要があります。

これはPHPで可能ですか?

4

2 に答える 2

2

すべての使用法が単一のプロセス内で行われる場合、これは些細なことでも問題ありません。グローバルまたは静的カウンター変数を使用して、それをインクリメントするだけです。プロセスが実行されている限り、その値にアクセスできます。

ただし、Web環境と、httpサーバーによって実行されるスクリプトの一部であるphp関数について話していると思いますか?申し訳ありませんが、あなたはそれについて言及していません...

その場合、それはもはや単一のプロセスではないため、事態はより複雑になります。ある種の永続ストレージが必要です。一般的なシナリオでは、このためにデータベース、ファイル、または共有メモリを使用します。これらにより、さまざまなプロセスが共有カウンター値にアクセスできます。

于 2012-12-17T08:59:04.430 に答える
1

とにかくデータベースを使用する場合、最も簡単な方法はデータベースのテーブルの値をインクリメントすることだと思います。同じ手順でタイムスタンプを保存することもできます。(インクリメントされた)値は、後で次の呼び出し関数で簡単に読み取ることができます。データベースがない場合は、テキスト/XMLファイルを使用することもできます。

于 2012-12-17T08:56:03.553 に答える