2009-08-31 11 views
0

私はPHPでコピーを販売する予定のアプリケーションを作成しています。知っておく必要がある場合は、ユーザーが期限切れのダウンロードリンクを使用してファイルをダウンロードできるようにするために使用されます。PHPスクリプトの使用統計情報を外部スクリプトに送る最良の方法

私の販売しているアプリケーションのいずれかがダウンロードを生成するたびに知りたいと思います。

サーバー上のPHPアプリケーションに通知を送信する最も良い方法は、「ちょっとあなたのスクリプトの1つが何かをした」と言っているだけで、数を維持する最善の方法は何でしょう?私のサーバがこのような性質を持つ「ヒット」の数データベースレコード、またはフラットテキストファイル?

私は一種のように、私のホームページ上のダウンロードの合計数のランニングカウントを表示したいので、私は尋ねる:「!これまでのXのダウンロードのための責任」

純粋なPHPソリューションがアイデアですが、私はajaxコールもOKであると思います。私が実際にやっているのは単純な$ var ++なので、より大きいスケールでしかないので、より簡単な方がいいでしょうか?

誰かが正しい方向に向けるように気をつけてください。

答えて

2

JavaScriptかPHPかにかかわらず、他のスクリプトが呼び出せるようにあなたのサーバーにURLを設定する必要があります。そのURLは、カウンタをインクリメントするスクリプトを指す必要があります。私はあなたがPHPからURLを呼び出して行けば、世話をするなど

をデータベースに数値を入れて、それをインクリメントするか、より詳細になりたいと思った場合、あなたは簡単に月/クライアントによってこれを打破する可能性がしたいですURLが実行をブロックしないようにします。つまり、サイトがダウンした場合、販売しているスクリプトはサーバーの応答を待っていません。さまざまな方法でこれを回避することができます。私はシャットダウン機能を登録することでそれをやります。

この問題が発生しない代替手段は、javascriptまたは画像としてURLを読み込んでいます(しかし、両方ともやや精度が劣る可能性があります)。画像は自分で作成します。サポート。

また、Zend Guardのようなコードでコードをコンパイルしない限り、誰でもリモートコールを削除してカウンタを増やすことができます。

+0

私はユーザーの詳細についてあまり心配していません、私は単純なカウントが必要なので、私は画像のルートを行くことができると思います。このために大量のトラフィックが発生し始めると仮定すると、繰り返されるdbコールでサーバーに与える影響を少なくする方法はありますか? また、私はカウンタを削除する人があまりにも心配していない、とにかく、それはおそらく任意であるでしょう。私はライセンスキーとxml-rpcやSOAPコールのようなものを保護して、何らかの種類のキーを認証する必要があるかもしれません。 このトピックについて別の質問を開始します。ご協力いただきありがとうございます。 –

+0

あなたは多くのトラフィックを得る場合..まず、私は/それが起こると、それについて心配したいと思います。 dbのフィールドを増分することはうまくいくはずですが、memcacheqのようなものを使用して更新をキューに入れることができ、入力時に非常に素早く処理し、キューからバッチ処理することができます。 – benlumley

1

ええと何かあなたが何を呼び出すことができます。おそらくSOAPはこれを行う最も簡単な方法です。

http://php.net/soap

Benlumleyは、このソリューションに関する有効なポイントをたくさん持っています。

はまた、あなたは、AJAXは、よりよい解決策かもしれません(あなたのアプリケーション、帯域幅/ CPUコストを購入する人を困らせることがあるWebサービス呼び出しを行う)、ユーザーのブラウザに計算をオフセットしたい場合。

関連する問題