[解決済み] ファイルのダウンロードを追跡する方法
質問
フラッシュプレーヤーでmp3を再生するウェブサイトを持っています。ユーザーが「再生」をクリックすると、フラッシュプレーヤーが自動的にmp3をダウンロードし、再生を開始します。
特定の曲のクリップ (または任意のバイナリ ファイル) が何回ダウンロードされたかを簡単に追跡する方法はありますか?
再生リンクは、実際の mp3ファイルへのリンクですか? へのリンクなのでしょうか?
後者であれば、簡単に ロギングコードを追加して を追加することができます。
前者であれば、ウェブサーバーのログを追跡できるような ウェブサーバーのログを追跡することができる を追跡して、その区別をする必要があります。私の ホスティングプランにはWebalizerが付属しています。 これはうまく機能します。
javascriptのコードなので、それで解決です。
しかし、他の方法(ホストを切り替えることなく)を使用してダウンロードを追跡する方法を知っているのは良いことです。
どのように解決するのですか?
面白いことに、私は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); //and spit the user the file
function base64_url_decode($input) {
return base64_decode(strtr($input, '-_,', '+/='));
}
そして、ファイルを呼び出すときは、次のようなものを使います。
function base64_url_encode($input) {
return strtr(base64_encode($input), '+/=', '-_,');
}
http://us.php.net/manual/en/function.base64-encode.php
もし、JavaScriptやフラッシュプレイヤー(例えばJWプレイヤー)を使っていて、mp3ファイルなどの実際のリンクが必要な場合は、テキスト "&type=.mp3" を追加して、最後のリンクが以下のようになるようにすればよい。 というようになります。そうすれば、ファイルのリンクに影響を与えることなく、拡張子がmp3で終わっているように見えるのです。
関連
-
[解決済み】move_uploaded_fileは、「failed to open stream: Permission denied" というエラーが出る
-
[解決済み] PHP と mod_fcgid: handle_request_ipc 関数で ap_pass_brigade が失敗する。
-
[解決済み] ファイルを grep して、その周辺の行をいくつか表示する?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] svn log -v' のように 'git log' にファイル名を表示させる方法
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Notice: 非オブジェクトのプロパティを取得しようとしているエラー
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】メッセージ。Trying to access array offset on value of type null [重複]配列のオフセットにアクセスしようとしています。
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み] Uncaught SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。
-
[解決済み] PHPの配列を別の配列にコピーする関数はありますか?