Se connecter avec
S'enregistrer | Connectez-vous

compteur de visites pour lecteur mp3

Dernière réponse : dans Programmation

Bonjour,

J'ai installé sur mon site quelques petis lecteurs mp3 et j'aimerai pouvoir connaitre le nombre de fois que chaque fichier a été lu.
Voici comment j'ai fait.

Un fichier htacess qui redirige les demandes de mp3 :
  1. RewriteEngine on
  2. RewriteRule ^/audio/([a-zA-z0-9]+).mp3$ <a href="http://s194492268.onlinehome.fr/sites/cside/audio/compteur.php?file=" target="_blank">http://s194492268.onlinehome.fr/sites/cside/audio/compt...</a>$1 [L]


Le fichier compteur.php :
  1. <?php
  2. $file = htmlentities(addslashes($_GET["file"]));
  3. $monfichier = fopen("compteur_".$file.".txt", "a+");
  4. $nbr_lecture = fgets($monfichier);
  5. if(empty($nbr_lecture)){
  6. $nbr_lecture = 0;
  7. }
  8. $nbr_lecture++;
  9. fseek($monfichier, 0);
  10. fputs($monfichier, $nbr_lecture);
  11. fclose($monfichier);
  12. echo '
  13. <?xml version="1.0" encoding="ISO-8859-1"?>
  14. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  15. <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
  16. <head>
  17. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  18. <meta http-equiv="refresh" content="0; url=<a href="http://s194492268.onlinehome.fr/sites/cside/audio" target="_blank">http://s194492268.onlinehome.fr/sites/cside/audio</a>'.$file.'.mp3" />
  19. <title>Redirection</title>
  20. <meta name="robots" content="noindex,follow" />
  21. </head>';
  22. ?>


Pas de problème, le mp3 se charge bien mais le fichier texte dans lequel le nombre de lectures doit s'enregistré ne se cré pas.

Merci de votre aide

:hello: 

Autres pages sur : compteur visites lecteur mp3

Lassé par la pub ? Créez un compte

le problème c'est que là dans mon cas, c'est un player flash qui vient chercher les mp3, et donc j'ai pas de "visuel" de l'erreur

Edit: Du coté du serveur : safe_mode off.
Et pour les droits sur les fichiers j'ai mis 777 sur le dossier et j'ai cré les fichiers textes manuellement en mettant 777 aussi.

pour display_error, oui à 1
pour voir l'erreur, tu peux commenter momentanément la redirection.

je viens de voir le htmlentities, il va te transformer les caratères spéciaux en rajoutant des "&xxx;" ca peut peut etre bloquer...

tu rediriges vers le player avec cette ligne:
  1. <meta http-equiv="refresh" content="0; url=<a href="http://s194492268.onlinehome.fr/sites/cside/audio" target="_blank">http://s194492268.onlinehome.fr/sites/cside/audio</a>'.$file.'.mp3" />

tu n'as qu'a la mettre en commentaire!!
  1. <!-- <meta http-equiv="refresh" content="0; url=<a href="http://s194492268.onlinehome.fr/sites/cside/audio" target="_blank">http://s194492268.onlinehome.fr/sites/cside/audio</a>'.$file.'.mp3" /> -->

j'accède au fichier même quand la redirection n'y est pas, ça doit donc etre que le htacess ne marche pas et que je ne passe pas par la page compteur.php

EDIT : il y a des _ dans mes noms de fichiers, estce que ([a-zA-z0-9]+) dans mon htacess est bien compatible avec ça ?

le htacess ne redirige pas bien la requête :
  1. RewriteEngine on
  2. RewriteRule ^/audio/([a-zA-z0-9_]+).mp3$ <a href="http://s194492268.onlinehome.fr/sites/cside/audio/compteur.php?file=" target="_blank">http://s194492268.onlinehome.fr/sites/cside/audio/compt...</a>$1 [L]


Exemple de fichier : dub_me_now.mp3


Qu'est ce qui ne va pas dans le htacess ?
Lassé par la pub ? Créez un compte
Tom's guide dans le monde