Page 1 sur 1

reload automatique script

Posté : 16 juil. 2010, 19:24
par Psy-koZ
bonjour tout le monde,

voila j'ai un petit problème j'ai un petit script qui affiche sur un site une musique en cour de lecture.
pour cela j'utilise se script.
<?php
$fp = fsockopen ("serveur", 'port', $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\nHost: HOST:PORT\r\n\r\n");
while (!feof($fp)) {
$line = fgets ($fp,21048);
eregi( "<font class=default>Current Song: </font></td><td><font class=default><b>(.*)</b></td></tr></table>", $line, $regs );
$currentsong = htmlspecialchars($regs[1]);
}
fclose($fp);
}
echo "$currentsong";
?>
jusqu'ici pas de problème la musique en cour s'affiche bien cependant je voudrait faire un script permettant de actualiser le nom de la chanson toutes les X secondes afin d'éviter de réactualiser la page pour voir le nom de la musique.
comment faire svp...
j'ai vu que c'était du javascript j'ai tester plusieurs truc et je galère un peu pourriez vous m'aider svp.
merci d'avance

Re: reload automatique script

Posté : 26 juil. 2010, 13:20
par macgawel
Bonjour.

Voir les multiples tutoriels AJAX dénichables sur le net.

Schématiquement :
Côté serveur tu as ton script PHP qui renvoie le nom de la musique.
Côté client, tu as un script JS qui appelle le script PHP, récupère le nom, l'affiche. Et ce script se lance toutes les x secondes.

Et en bonus, un script JS basique :

Code : Tout sélectionner

function file (fichier) { // D'abord on teste le navigateur... if (window.XMLHttpRequest) { // FIREFOX xhr_object = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } else return (false); // Puis on appelle la page PHP xhr_object.open("GET", fichier, false); xhr_object.send(null); // Si on récupère un résultat la fonction le transmet if (xhr_object.readyState == 4) { return (xhr_object.responseText); } else return(false); } function ChercherHoraires() { texte = ""; // On teste si on récupère bien quelque chose à partir de la requête asynchrone if (texte = file ("radio.php")) { // On affecte le résultat de la requête au conetnu HTML du bloc ayant comme ID "horaires" document.getElementById("horaires").innerHTML = texte; } // On relance la fonction dans 5000 millisecondes (5 sec.). Délai à ajuster... setTimeout( "ChercherHoraires()",5000) }