Page 1 sur 1
Afficher une image à un temps donné
Posté : 05 nov. 2006, 17:38
par dany
est il possible d'afficher une image à la minute pret, en fonction de l'heure du serveur ?
comme peut le faire le site "humanclock.com"
Posté : 05 nov. 2006, 17:44
par Ryle
Avec la fonction date() tu peux connaitre la date et l'heure du serveur et donc afficher ce que tu veux en fonction.. Si nécessaire, avec un meta refresh tu lances l'actualisation de cette page toutes les x secondes

Posté : 05 nov. 2006, 17:46
par dany
j'ais deja ca :
<?
header("Content-type: image/gif");
$heure = date("H");
if($heure < 8)
$image = "nuit.gif";
elseif($heure >= 11 && $heure < 12)
$image = "11.gif";
elseif($heure >= 12 && $heure < 12)
$image = "12.gif";
elseif($heure >= 12 && $heure < 13)
$image = "123.gif";
elseif($heure >= 13 && $heure < 14)
$image = "13.gif";
elseif($heure >= 14 && $heure < 18)
$image = "pm.gif";
elseif($heure >= 18)
$image = "soir.gif";
readfile($image);
?>
mais je voudrais avoir l'image qui change en fonction des minutes aussi.
Posté : 05 nov. 2006, 17:51
par Ultiny
Si nécessaire, avec un meta refresh tu lances l'actualisation de cette page toutes les x secondes

Ohhh scandale
A l'heure du web v2 ne pas utiliser Ajax dans une pareil situation

Posté : 05 nov. 2006, 17:54
par dany
je voudrais que mon script affiche comme c'est le cas, une image à une heure donnée du serveur, mais qu'il le fasse aussi pour les minutes.
Posté : 05 nov. 2006, 19:58
par Ryle
dany >> dans la documentation de la fonction date() tu aurais trouvé ceci :
"h" Heure, au format 12h, avec les zéros initiaux 01 à 12
"H" Heure, au format 24h, avec les zéros initiaux 00 à 23
"i" Minutes avec les zéros initiaux 00 à 59
Tu peux même récupérer les secondes si tu veux
Ohhh scandale
A l'heure du web v2 ne pas utiliser Ajax dans une pareil situation

horreur malheur !!! Vouloir mettre de l'ajax partout juste parce que c'est un "nom" à la mode

Et pis j'ai tendance à les minimiser d'habitude, mais pour une fois que ça me sert : que faire de ceux qui désactive javascript ?
Sinon quitte à coller du javascript et un setTimeout(), un simple changement de src serait plus judicieux que de vouloir mettre de l'ajax... comme quoi

Posté : 05 nov. 2006, 20:12
par dany
comment formuler le script ???
ou et comment dois-je mettre "$minute = date("M");" dans mon script pour que je puisse appeler une image à une heure et une minute precise
<?
header("Content-type: image/gif");
$heure = date("H");
if($heure < 8)
$image = "dodo.gif";
elseif($heure >= 11 && $heure < 12)
$image = "11.gif";
readfile($image);
?>
Posté : 05 nov. 2006, 20:39
par Invité
ce n'est pas $minute = date("M");" mais $minute = date("i");"
mais comment l'inclure dans mon script
Posté : 06 nov. 2006, 11:23
par Ryle
Bah tout dépend de ce que tu veux faire... si tu veux faire un truc différent à chaque minute, tu peux par exemple faire ceci :
$heure = date("Hi"); // format hhmm
switch($heure) {
case '0000' : // minuit
...
break;
case '0001' : // 0h01
...
break;
case '0827' : // 8h27
...
break;
...
default : // tout ce qui n'a pas été prévu
...
break;
}
Si tu veux fonctionner par interval, tu fais la même chose que pour tes heures :
$heure = date("H");
$minute = date("i");
...
if($heure == 11) // pour 11h
if($minute < 20) // de 11h00 à 11h19
$image = "1100.gif";
elseif($minute < 40) // de 11h20 à 11h39
$image = "1120.gif";
else // de 11h40 à 11h59
$image = "1140.gif";
}
...
Tres chouette de part.
Posté : 06 nov. 2006, 20:38
par Dany
Merci Ryle. sympa ;+)
j'ais un autre probleme
Posté : 06 nov. 2006, 23:56
par dany
j'ais un autre probleme lorsque je lance image.php :
<?
header("Content-type: image/gif");
$heure = date("H");
$minute = date("i");
if($heure == 22)
if($minute < 49)
$image = "11.gif";
elseif($minute < 50)
$image = "12.gif";
else ($minute < 51)
$image = "13.gif";
readfile($image);
?>
j'ais cette erreur :
Parse error: syntax error, unexpected T_VARIABLE in /home/danyd/www/php/image.php on line 13
une aide si possible..
Posté : 07 nov. 2006, 00:27
par DocType
Question : à part un produit nettoyant, c'est quoi AJAX ? Car moi connaitre jaascript mais pas ajax....

Posté : 07 nov. 2006, 00:34
par Ajoloca
Bonsoir,
Tu devrais mettre ton code entre les balises [ PHP] et [/PHP], mettre des accolades dans tes conditions
En faisant ça tu verais que ça
else ($minute < 51)
n'a pas beaucoup de sense.
Posté : 07 nov. 2006, 00:44
par Ryle
Ton soucis vient bien du else comme l'a signalé Ajoloca
Question : à part un produit nettoyant, c'est quoi AJAX ? Car moi connaitre jaascript mais pas ajax....

AJAX : Asynchronous Javascript And Xml ... en résumé, c'est un objet et deux fonctions javascript qui permettent d'appeller une page de ton site (en lui passant éventuellement des paramètres) et de lire ce qu'elle retourne (donc de l'exploiter en js) sans recharger la page depuis laquelle tu les exécutes...
C'est très pratique pour recharger juste une partie de ta page (liste liées, calenriers, lecteur rss, etc.) A part ça, c'est juste un joli nom donné à une vieille techno pour frimer à donf !

Posté : 07 nov. 2006, 00:46
par DocType
Ton soucis vient bien du else comme l'a signalé Ajoloca
Question : à part un produit nettoyant, c'est quoi AJAX ? Car moi connaitre jaascript mais pas ajax....

AJAX : Asynchronous Javascript And Xml ... en résumé, c'est un objet et deux fonctions javascript qui permettent d'appeller une page de ton site (en lui passant éventuellement des paramètres) et de lire ce qu'elle retourne (donc de l'exploiter en js) sans recharger la page depuis laquelle tu les exécutes...
C'est très pratique pour recharger juste une partie de ta page (liste liées, calenriers, lecteur rss, etc.) A part ça, c'est juste un joli nom donné à une vieille techno pour frimer à donf !

looooooooooooooool et dire que moi mes listes liées je les traite intégralement en javascript
