Domanda

Ho un sito web che riproduce gli mp3 in flash player.Se un utente fa clic su 'giocare' con il flash player automaticamente il download di un mp3 e inizia a giocare.

C'è un modo semplice per tenere traccia di quante volte una canzone in particolare clip (o qualsiasi file binario) è stato scaricato?


È il gioco di link un link per l'effettivo file mp3 o di un codice javascript che si apre un giocatore?

Se quest'ultimo, è possibile aggiungere facilmente i proprio codice di registrazione per monitorare il numero di accessi ad esso.

Nel primo caso, avrete bisogno di qualcosa che permette di monitorare i log del server web stessa e per fare questa distinzione.Il mio piano di hosting viene fornito con Webalizer, che fa bene.

Si tratta di un codice javascript in modo che le risposte che.

Tuttavia, sarebbe bello sapere come tenere traccia dei download utilizzando il metodo di altri (senza commutazione padroni di casa).

È stato utile?

Soluzione

La cosa divertente è che ho scritto un php media gallery per tutta la mia musica 2 giorni fa.Ho avuto un problema simile.Sto utilizzando http://musicplayer.sourceforge.net/ per il giocatore.E le playlist sono costruiti tramite php.Tutta la musica di richiesta di andare c'è uno script chiamato te.php?file=QUALSIASI

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

E quando si chiama il file di usare qualcosa come:

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

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

Se si utilizza un po ' di javascript o flash player (JW player per esempio) che richiede il collegamento a un file mp3 o qualsiasi altra cosa, è possibile aggiungere il testo "&tipo=.mp3" così il finale linke diventa qualcosa di simile a:"www.example.com/xfer.php?file=34842ffjfjxfh&type=.mp3".In quel modo sembra che si conclude con un'estensione mp3 senza modificare il file di collegamento.

Altri suggerimenti

Usa il tuo httpd file di log.Installare http://awstats.sourceforge.net/

Usare bash:

grep mp3 /var/log/httpd/access_log | wc

Se il brano / file binario è stato servito da un apache, si può facilmente estrarre i access_log per scoprire il numero di download.Un semplice post-logrotate script è in grado di estrarre i log e mantenere il vostro conteggio delle statistiche in un db.Questo ha il vantaggio di prestazioni da non essere nel vostro vivere richiesta codice di percorso.Non critico le cose come le statistiche offline è una buona idea di scalare il tuo sito web a un numero elevato di utenti.

Si potrebbe anche impostare un Apache .htaccess direttiva che converte *.mp3 richieste in querystring dubayou si sta lavorando.Potrebbe essere un modo elegante per tenere la richiesta diretta ed essere ancora in grado di slipstream funzione di log nella risposta.

È il gioco di link un link per l'effettiva file mp3 o di un codice javascript che apre un giocatore?

Se quest'ultimo, si può facilmente aggiungere il proprio codice di registrazione per monitorare il numero di accessi ad esso.

Nel primo caso, avrete bisogno di qualcosa che permette di monitorare i log del server web stesso e fare questa distinzione.Il mio piano di hosting viene fornito con webalizer, che fa bene.

C'è un database per la vostra libreria musicale?Se c'è qualche server di codice che viene eseguito quando il download di mp3 poi si può aggiungere del codice per incrementare il conteggio di giocare.Si potrebbe anche avere javascript fare una seconda richiesta per incrementare il conteggio di giocare, ma questo potrebbe portare a persone/robot falsamente incremento conta.

Ho usato per lavorare per un internet-sito di radio e abbiamo usato tabelle separate per tenere traccia del tempo che ogni brano è stato eseguito.I nostri torrenti sono stati alimentati da uno script perl in esecuzione icecast, così abbiamo attivato una richiesta di database ogni volta che una nuova traccia iniziato a giocare.Quindi per calcolare il numero di riproduzione ci sarebbe eseguire una query per contare quante volte una canzone è l'id nel log del gioco.

Il problema che ho avuto con le cose come AWStats / lettura attraverso i log del server web è che il download di grandi dimensioni, spesso, può essere suddiviso in blocchi di dati all'interno di tronchi.Questo rende conciliare il numero esatto di download abbastanza duro.

Vorrei suggerire di Google Analytics Monitoraggio Eventi, saranno registrarsi una sola volta per fare clic su un link per il download.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top