par
AB » 11 août 2009, 01:29
Il me semble que tu utilises "w" (minuscule) qui indique les jours, à la place de "W" qui indique les semaines.
Sinon en suivant mon idée pour changer d'images toutes les semaines (ou tous les jours) en enregistrant les données dans un fichier texte, on peut faire ça.
$images = array('image1.gif', 'image2.gif', 'image3.gif', 'image4.gif');
$semaine = date('W');
$tab_controle = @unserialize(@file_get_contents('affichage_image.txt'));
$semaine_ex = isset($tab_controle['semaine'])? $tab_controle['semaine'] : 0;
$index = isset($tab_controle['index']) && array_key_exists($tab_controle['index'],$images)? $tab_controle['index'] : 0;
if ($semaine_ex != $semaine)
{
$index = isset($tab_controle['index'])? $tab_controle['index'] + 1 : 0;
$tab_controle['index'] = array_key_exists($index,$images)? $index : 0;
$tab_controle['semaine'] = $semaine;
file_put_contents('affichage_image.txt',serialize($tab_controle));
}
if (isset($images[$index])) echo '<img src="'.$images[$index].'" width="50" height="50" alt="Image de la semaine">';
L'avantage, en plus de résoudre le problème des semaines de début d'année, c'est qu'en mémorisant l'index de l'image en cours on peut utiliser et faire tourner une quantité "illimitée" d' images.
Il me semble que tu utilises "w" (minuscule) qui indique les jours, à la place de "W" qui indique les semaines.
Sinon en suivant mon idée pour changer d'images toutes les semaines (ou tous les jours) en enregistrant les données dans un fichier texte, on peut faire ça.
[php]$images = array('image1.gif', 'image2.gif', 'image3.gif', 'image4.gif');
$semaine = date('W');
$tab_controle = @unserialize(@file_get_contents('affichage_image.txt'));
$semaine_ex = isset($tab_controle['semaine'])? $tab_controle['semaine'] : 0;
$index = isset($tab_controle['index']) && array_key_exists($tab_controle['index'],$images)? $tab_controle['index'] : 0;
if ($semaine_ex != $semaine)
{
$index = isset($tab_controle['index'])? $tab_controle['index'] + 1 : 0;
$tab_controle['index'] = array_key_exists($index,$images)? $index : 0;
$tab_controle['semaine'] = $semaine;
file_put_contents('affichage_image.txt',serialize($tab_controle));
}
if (isset($images[$index])) echo '<img src="'.$images[$index].'" width="50" height="50" alt="Image de la semaine">';[/php]
L'avantage, en plus de résoudre le problème des semaines de début d'année, c'est qu'en mémorisant l'index de l'image en cours on peut utiliser et faire tourner une quantité "illimitée" d' images.