Votre question

compteur de visites pour lecteur mp3

Tags :
  • Programmation
Dernière réponse : dans Programmation
Anonyme
27 Avril 2007 11:11:26

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=" rel="nofollow" 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" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  15. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" 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" rel="nofollow" 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

Anonyme
27 Avril 2007 13:15:30

up! personne ?
27 Avril 2007 13:39:09

bonjour,
ca peut etre:
- ton serveur est configuré avec le safe_mode de php
- tu n'as pas les permissions pour écrire dans le répertoire

modifie la directive display_error avec init_set ()
et met un error_reporting (E_ALL)
pour voir quelle est l'erreur
Contenus similaires
Anonyme
27 Avril 2007 13:44:14

pour display error je passe la valeure à 1 ?
Anonyme
27 Avril 2007 13:53:09

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.
27 Avril 2007 14:37:23

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...
Anonyme
27 Avril 2007 16:04:16

j'ai essayer sans le htmlentities mais ça n'a rien changé.
Anonyme
27 Avril 2007 18:04:31

up
27 Avril 2007 18:21:07

elle donne quoi l'erreur?
Anonyme
27 Avril 2007 18:27:16

j'ai pas réussi à "commenter momentanément la redirection", tu entends quoi par là ? vu que ce n'est pas le visiteur qui est redirigé mais le script flash
27 Avril 2007 18:40:06

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

tu n'as qu'a la mettre en commentaire!!
  1. <!-- <meta http-equiv="refresh" content="0; url=http://s194492268.onlinehome.fr/sites/cside/audio'.$file.'.mp3" /> -->
Anonyme
27 Avril 2007 19:30:31

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 ?
27 Avril 2007 20:37:35

non, faut rajouter '_': [a-zA-z0-9_]
Anonyme
27 Avril 2007 22:52:13

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


Exemple de fichier : dub_me_now.mp3


Qu'est ce qui ne va pas dans le htacess ?
27 Avril 2007 23:32:04

le htaccess est bon, par contre vérifie que tu as le droit de modifier la config d'apache et que le module rewrite est activé
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS