すべてのユーザーが関数を使用した回数をカウントする関数をPHPで作成しようとしています。
この関数をたとえば30回使用した場合は、アクセスを数分間ブロックしてから、カウンターを0にリセットする必要があります。
これはPHPで可能ですか?
すべてのユーザーが関数を使用した回数をカウントする関数をPHPで作成しようとしています。
この関数をたとえば30回使用した場合は、アクセスを数分間ブロックしてから、カウンターを0にリセットする必要があります。
これはPHPで可能ですか?
すべての使用法が単一のプロセス内で行われる場合、これは些細なことでも問題ありません。グローバルまたは静的カウンター変数を使用して、それをインクリメントするだけです。プロセスが実行されている限り、その値にアクセスできます。
ただし、Web環境と、httpサーバーによって実行されるスクリプトの一部であるphp関数について話していると思いますか?申し訳ありませんが、あなたはそれについて言及していません...
その場合、それはもはや単一のプロセスではないため、事態はより複雑になります。ある種の永続ストレージが必要です。一般的なシナリオでは、このためにデータベース、ファイル、または共有メモリを使用します。これらにより、さまざまなプロセスが共有カウンター値にアクセスできます。
とにかくデータベースを使用する場合、最も簡単な方法はデータベースのテーブルの値をインクリメントすることだと思います。同じ手順でタイムスタンプを保存することもできます。(インクリメントされた)値は、後で次の呼び出し関数で簡単に読み取ることができます。データベースがない場合は、テキスト/XMLファイルを使用することもできます。