Jak śledzić pobieranie plików

głosy
66

Mam stronę internetową, która odtwarza pliki mp3 w odtwarzaczu flash. Jeśli „Play” użytkownik kliknie odtwarzacz Flash automatycznie pobiera mp3 i zaczyna grać.

Czy istnieje prosty sposób, aby śledzić, ile razy dany klip piosenka (lub dowolny plik binarny) została pobrana?


Jest link zabaw link do rzeczywistego pliku mp3 lub do jakiegoś kodu javascript, które pojawia się odtwarzacz?

Jeśli to drugie, można łatwo dodać własny kod logując się tam, aby śledzić liczbę trafień do niego.

W pierwszym przypadku, trzeba coś, co można śledzić serwer WWW zalogować się i dokonać tego rozróżnienia. Mój plan hostingowy jest wyposażony webalizer, który robi to dobrze.

Jest to kod JavaScript, który odpowiada, że ​​tak.

Jednak byłoby miło wiedzieć, jak śledzić pobieranie plików przy użyciu innej metody (bez przełączania hostów).

Utwórz 01/08/2008 o 18:14
źródło użytkownik
W innych językach...                            


8 odpowiedzi

głosy
6

Jest link zabaw link do rzeczywistego pliku mp3 lub do jakiegoś kodu javascript, które pojawia się odtwarzacz?

Jeśli to drugie, można łatwo dodać własny kod logując się tam, aby śledzić liczbę trafień do niego.

W pierwszym przypadku, trzeba coś, co można śledzić serwer WWW zalogować się i dokonać tego rozróżnienia. Mój plan hostingowy jest wyposażony webalizer, który robi to dobrze.

Odpowiedział 01/08/2008 o 18:24
źródło użytkownik

głosy
36

Najśmieszniejsze jest to napisałem php galerię multimediów dla całej mojej muzyki 2 dni temu. Miałem podobny problem. Używam http://musicplayer.sourceforge.net/ dla gracza. I odtwarzania są budowane poprzez php. Wszystko prośba muzyka tam skrypt o nazwie xfer.php? File = COKOLWIEK

$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, '-_,', '+/='));
}

I kiedy dzwonisz pliki używać coś takiego:

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

http://us.php.net/manual/en/function.base64-encode.php

Jeśli używasz niektóre javascript lub flash player (odtwarzacz JW na przykład), które wymaga rzeczywistego odnośnik być plik mp3 lub cokolwiek, można dodać tekst „& type = .mp3” więc ostateczna linke staje się coś takiego: „www .example.com / xfer.php? file = 34842ffjfjxfh & type = .mp3" . W ten sposób wygląda to kończy z rozszerzeniem mp3 bez wpływu link pliku.

Odpowiedział 01/08/2008 o 18:33
źródło użytkownik

głosy
11

Można nawet założyć dyrektywy Apache .htaccess, który konwertuje * żądań .mp3 do kwerendy dubayou pracuje z. To może być elegancki sposób, aby utrzymać bezpośredni wniosek i nadal będą mogli zintegrować funkcję logowania się do odpowiedzi.

Odpowiedział 01/08/2008 o 18:42
źródło użytkownik

głosy
27

Wykorzystaj swoje pliki dziennika httpd. zainstalować http://awstats.sourceforge.net/

Odpowiedział 01/08/2008 o 18:51
źródło użytkownik

głosy
3

Czy istnieje baza danych biblioteki muzycznej? Jeśli istnieje jakikolwiek kod, który uruchamia serwer podczas pobierania mp3 następnie można dodać dodatkowy kod tam, aby zwiększyć liczbę zabaw. Można również mieć javascript złożyć drugi wniosek, aby zwiększyć liczbę grać, ale może to prowadzić do osoby / roboty fałszywie zwiększając liczbę.

Kiedyś do pracy na miejscu radia internetowego i użyliśmy oddzielne tabele śledzić czas każdy utwór był odtwarzany. Nasze strumienie były napędzane przez skrypt perla systemem Icecast, więc wywołał zażądania bazie danych za każdym razem nowy utwór zaczął grać. Następnie obliczyć liczbę zabaw chcemy uruchomić kwerendę, aby policzyć, ile razy id piosenka była w dzienniku zabaw.

Odpowiedział 04/09/2008 o 19:44
źródło użytkownik

głosy
12

Jeśli piosenka plik / binarny został doręczony przez Apache, można łatwo grep z access_log aby dowiedzieć się liczbę pobrań. Prosty skrypt post-logrotate może grep dzienniki i utrzymać swoje statystyki liczyć w db. Ma to tę zaletę, wydajność nie będąc w swojej żywej ścieżki kodu żądanie. Robi non-krytyczne rzeczy jak status w trybie offline jest to dobry pomysł, aby skalować swoją stronę do dużej liczby użytkowników.

Odpowiedział 12/10/2008 o 10:10
źródło użytkownik

głosy
21

Użyj bash:

grep mp3 /var/log/httpd/access_log | wc
Odpowiedział 02/10/2009 o 03:12
źródło użytkownik

głosy
3

Problem miałem z rzeczy jak AWStats / czytania logów serwera WWW jest to, że duże pliki do pobrania często można podzielić na porcje danych w logach. To sprawia, że ​​pogodzenie dokładną liczbę pobrań dość trudne.

Sugeruję Google Analytics Śledzenie zdarzeń , jak to będzie rejestrował raz za kliknięcie na odnośnik pobierania.

Odpowiedział 09/06/2016 o 09:38
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more