73


9

フラッシュプレーヤーでmp3を再生するWebサイトがあります。 ユーザーが「再生」をクリックすると、フラッシュプレーヤーは自動的にmp3をダウンロードして再生を開始します。

特定のソングクリップ(またはバイナリファイル)が何回ダウンロードされたかを追跡する簡単な方法はありますか?

'' '' '

プレイリンクは実際のmp3ファイルへのリンクなのか、それともプレーヤーをポップアップさせる何らかのJavaScriptコードへのリンクなのか?

後者の場合は、ヒット数を追跡​​するためにそこに独自のロギングコードを簡単に追加できます。

前者の場合は、Webサーバーのログ自体を追跡して区別できるようなものが必要です。 私のホスティングプランはこれをうまくやっているwebalizerが付属しています。 __

それはJavaScriptコードです、それでそれは答えます。

ただし、他の方法で(ホストを切り替えることなく)ダウンロードを追跡する方法を知っていると便利です。

8 Answer


39


おもしろいことに、2日前に私のすべての音楽のためにphpメディアギャラリーを書きました。 私は同様の問題を抱えていました。 私はプレーヤーのためにhttp://musicplayer.sourceforge.net/を使っています。 そしてプレイリストはphpによって構築されます。 すべての音楽リクエストはそこにxfer.php?file = WHATEVERというスクリプトを送ります。

$ filename = base64_url_decode($ _ REQUEST ['file']); header( "Cache-Control:public"); header( 'Content-disposition:attachment; filename ='。basename($ filename)); header( "Content-Transfer-Encoding:binary"); header( 'Content-Length:'。 filesize($ filename));

//  Put either file counting code here. either a db or static files

//

readfile($ filename); //ユーザーにファイルを吐き出す

関数base64_url_decode($ input){return base64_decode(strtr($ input、 ' -  _、'、 '/ =')); }

そして、ファイルを呼び出すときには、次のようにします。

function base64_url_encode($ input){return strtr(base64_encode($ input)、 '/ ='、 ' -  _、'); }

実際のリンクにmp3ファイルなどが必要なJavaScriptまたはフラッシュプレーヤー(JWプレーヤーなど)を使用している場合は、テキストを追加できます。 " そのようにそれはそれがファイルリンクに影響を与えずにmp3拡張子で終わるように見えます。


29


あなたのhttpdログファイルを使用してください。 http://awstats.sourceforge.net/をインストールする


25


bashを使う:

grep mp3 / var / log / httpd / access_log |トイレ


13


Apacheの.htaccessディレクティブを設定して、*。mp3要求をdubayouが使用しているクエリ文字列に変換することもできます。 直接の要求を保持しながら、ログ機能を応答にスリップストリームできるようにすることは、エレガントな方法かもしれません。


13


あなたの歌/バイナリーファイルがapacheによって提供されているなら、あなたは簡単にダウンロード数を調べるためにaccess_logをgrepすることができます。 単純なログ後のスクリプトでログを収集し、カウント統計をデータベースに保存できます。 これは、ライブのリクエストコードパスに含まれていないことによるパフォーマンス上の利点があります。 統計情報のように重要ではないことをオフラインで行うことは、Webサイトを多数のユーザーに拡張するためにお勧めです。


7


playリンクは実際のmp3ファイルへのリンクなのか、それともプレーヤーをポップアップするJavaScriptコードへのリンクなのか。

後者の場合は、ヒット数を追跡​​するためにそこに独自のロギングコードを簡単に追加できます。

前者の場合は、Webサーバーのログ自体を追跡して区別できるようなものが必要です。 私のホスティングプランはこれをうまくやっているwebalizerが付属しています。


3


あなたの音楽ライブラリ用のデータベースはありますか? mp3のダウンロード時に実行されるサーバーコードがある場合は、そこに再生回数を増やすためのコードを追加することができます。 また、javascriptに再生回数を増やすように要求することもできますが、これは人やロボットが誤って回数を増やすことにつながる可能性があります。

私はインターネットラジオサイトで働いていました、そして私たちはそれぞれの曲が演奏された時間を追跡するために別々のテーブルを使いました。 私たちのストリームは、icecastを実行するperlスクリプトによって供給されていたので、新しいトラックが再生されるたびにデータベースリクエストをトリガーしました。 次に、再生回数を計算するために、クエリを実行して曲のIDが再生ログに何回記録されたかを数えます。


3


AWStats / Webサーバーのログを読むことで私が抱えていた問題は、大きなダウンロードがログ内のデータの塊に分割されることが多いということです。 これは正確なダウンロード数の調整をかなり困難にします。

ダウンロードリンクをクリックするたびに1回登録されるため、Google Analytics Event Trackingを推奨します。