Comment puis-je suivre les téléchargements de fichiers

voix
66

J'ai un site Web qui joue dans un lecteur MP3 flash. Si un de jeu 'utilisateur clique le lecteur flash télécharge automatiquement un mp3 et commence à jouer.

Y at-il un moyen facile de suivre le nombre de fois que le clip de la chanson particulière (ou tout autre fichier binaire) a été téléchargé?


Le lien de jeu un lien vers le fichier mp3 réel ou à un code javascript qui apparaît un joueur?

Dans ce dernier cas, vous pouvez facilement ajouter votre propre code d'enregistrement là-bas pour suivre le nombre de coups à elle.

Si l'ancien, vous aurez besoin de quelque chose qui peut suivre le serveur web journal lui-même et de faire cette distinction. Mon plan d'hébergement est livré avec webalizer, qui le fait bien.

Il est code javascript, donc qui répond à cela.

Cependant, il serait bon de savoir comment suivre les téléchargements en utilisant l'autre méthode (sans hôtes de commutation).

Créé 01/08/2008 à 18:14
source utilisateur
Dans d'autres langues...                            


8 réponses

voix
36

Le plus drôle est que j'ai écrit une galerie de médias php pour toute ma musique il y a 2 jours. J'avais un problème similaire. J'utilise http://musicplayer.sourceforge.net/ pour le joueur. Et la liste de lecture sont construits via php. Toute demande de musique y aller un script appelé xfer.php? File = QUELQUE

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

Et lorsque vous appelez utiliser quelque chose comme des fichiers:

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

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

Si vous utilisez un javascript ou un lecteur flash (lecteur JW par exemple) qui nécessite le lien réel être un fichier mp3 ou autre, vous pouvez ajouter le texte « & type = .mp3 » de sorte que la linke finale devient quelque chose comme: « www .example.com / xfer.php? file = 34842ffjfjxfh & type = .mp3" . De cette façon, il semble que ça se termine par une extension mp3 sans affecter le lien du fichier.

Créé 01/08/2008 à 18:33
source utilisateur

voix
27

Utilisez vos fichiers journaux httpd. installer http://awstats.sourceforge.net/

Créé 01/08/2008 à 18:51
source utilisateur

voix
21

Utilisez bash:

grep mp3 /var/log/httpd/access_log | wc
Créé 02/10/2009 à 03:12
source utilisateur

voix
12

Si votre chanson / fichier binaire a été servi par apache, vous pouvez facilement le grep access_log pour connaître le nombre de téléchargements. Un simple script de post-logrotate peut grep les journaux et maintenir vos statistiques de comptage dans un db. Ceci a l'avantage de la performance de ne pas être dans votre chemin de code de demande en direct. Faire des choses non critiques comme les statistiques en ligne est une bonne idée à l'échelle de votre site Web à un grand nombre d'utilisateurs.

Créé 12/10/2008 à 10:10
source utilisateur

voix
11

Vous pouvez même mettre en place une directive .htaccess d'Apache qui convertit * demandes .mp3 dans le querystring dubayou travaille avec. Il est peut-être une manière élégante de maintenir la demande directe et toujours être en mesure de se connecter à la fonction slipstream la réponse.

Créé 01/08/2008 à 18:42
source utilisateur

voix
6

Le lien de jeu un lien vers le fichier mp3 réel ou à un code javascript qui apparaît un joueur?

Dans ce dernier cas, vous pouvez facilement ajouter votre propre code d'enregistrement là-bas pour suivre le nombre de coups à elle.

Si l'ancien, vous aurez besoin de quelque chose qui peut suivre le serveur web journal lui-même et de faire cette distinction. Mon plan d'hébergement est livré avec webalizer, qui le fait bien.

Créé 01/08/2008 à 18:24
source utilisateur

voix
3

Le problème que j'avais des choses comme AWStats / lecture à travers les journaux de serveur Web est que les téléchargements volumineux peuvent souvent être divisés en blocs de données dans les journaux. Cela rend réconciliant le nombre exact de téléchargements assez difficile.

Je vous suggère de Google Analytics de suivi des événements , car cela enregistrera une fois par clic sur un lien de téléchargement.

Créé 09/06/2016 à 09:38
source utilisateur

voix
3

Y at-il une base de données pour votre bibliothèque musicale? En cas de code serveur qui exécute lors du téléchargement du mp3, vous pouvez ajouter du code supplémentaire là pour augmenter le nombre de jeux. Vous pourriez aussi avoir JavaScript faire une deuxième demande pour augmenter le nombre de jeu, mais cela pourrait conduire à des gens / robots incrémenter faussement compte.

Je travaillais pour un site Internet radio et nous avons utilisé des tables séparées pour suivre le temps chaque chanson a été jouée. Nos cours d'eau ont été alimentés par un Icecast en cours d'exécution script perl, nous avons donc déclenché une requête de base de données à chaque fois une nouvelle piste a commencé à jouer. Ensuite, pour calculer le nombre de jeux que nous courrions une requête pour compter combien de fois l'identifiant d'un morceau était dans le journal de lecture.

Créé 04/09/2008 à 19:44
source utilisateur

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