Bonjour,

dans le cadre de développement d'un site dédié aux musique libre, j'aimerai utiliser dewplayer. ca marche impeccable, pas de soucis de ce coté la;

par contre, impossible, du moins pour l'instant, de créer un script pour comptabiliser le nombre de lectures effectué sur un titre par dewplayer. J'aimerai créer un classement des oeuvres les plus écoutées sur le site.

Si quelqu'un connait la solution, ou juste un script à adapter, ce serait sympa, car la je bloque completement. en fait, quand j'arrive a compter le nombre de clic, le morceau ne se met pas en marche, et quand j'arrive à lire, le compteur ne marche pas..
Modifié par msg_dracula (28 May 2008 - 00:40)
Administrateur
bonjour,

il est possible d'établir des stats à partir des logs serveur s'ils sont accessibles.
ok. Concernant les logs, ils sont disponibles avec 1&1. Y'a plus qu'a créer une fonction php pour analyser le bordel, et pouvoir afficher les chiffres sur le site.

Merci pour l'orientation.
Bonsoir.

C'est bon, j'ai résolu le probleme.

Tout d'abord, concernant l'arborescence de la base de test. J'ai :
/test/player.php qui est la page contenant le lecteur dewplayer.
/test/download.php qui comptabilise le nombre d'écoute
/test/doxnloads/ qui contient les titre en écoute.

1Commençons par le code download.php


<?php
$FILES_DIR = "/test/downloads/";
$MYSQL_USER = "root";             
$MYSQL_PASS = "";         
$MYSQL_HOST = "localhost";        
$MYSQL_DB   = "freemusic";             
$cnt_sql = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS);
@mysql_select_db($MYSQL_DB, $cnt_sql);
if(isset($_GET['file'])) {
	$file = urlencode($_GET['file']);
	if(empty($file)) {
		echo "No File Specified";
		exit;
	}
	if(strpos($file, "..") !== FALSE) {
		echo "HACK ATTEMPT!";
		exit;
	}
	if(strpos($file, "://") !== FALSE) {
		echo "Invalid File";
		exit;
	}
	$cookie = urlencode(str_replace(".", "_", $file));  
	$query = "SELECT * FROM dl_count WHERE file = '$file'";
	$result = mysql_query($query, $cnt_sql);
	if(!$result) {
		echo mysql_error();
		exit;
	}
	if(mysql_num_rows($result) == 0) {
		//first use of this file
		$query = "INSERT INTO dl_count VALUES('$file', 1)";
		$result = mysql_query($query, $cnt_sql);
	        setcookie("dl_" . $cookie, "set", time() + 60*60*24*365);
	} else {
        		$query = "UPDATE dl_count SET count = count + 1 WHERE file = '$file'";
		        $result = mysql_query($query);
			setcookie("dl_". $cookie, "set", time() + 60*60*24*365);

	}
	header("Location: " . $FILES_DIR . $file);
}
?>


Viens ensuite le code de la page player.php qui contient le lecteur dewplayer en question


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    <meta name="generator" content="PSPad editor,  www.pspad.com">
 
    <title> DEWPLAYERS  </title>
  </head>
  <body>
    <div align="center">
      <h1 class="style1">Lecteur</h1>
      <object type="application/x-shockwave-flash" data="dewplayer.swf?mp3=download.php?file=test.mp3" width="200" height="20">
        <param name="wmode" value="transparent">
        <param name="movie" value="dewplayer.swf?mp3=download.php?file=test.mp3&amp;autostart=0" />
      </object>
    </div>
</body>
</html>


Dans ce cas, le lecteur va lire le fichier /test/downloads/test.mp3

En espérant que ce soit clair et que ça serve à certain