Page 1 sur 1

Image qui change toutes les semaine

Posté : 10 août 2009, 18:24
par sc62
Bonjour,

Voila je suis débutant en php et je cherche a faire changer une image toutes les semaine automatiquement.

Merci d'avance . :wink:

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 18:42
par Patrick2A
Qui changerait en fonction de quoi ??
Soyez plus précis...

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 18:51
par sc62
Simplement 1 semaine sur 2 l'image change ( donc en fonction du temp passé soit ici 7 jours ou 604 800 secondes .

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 19:36
par fab
La fonction date ( http://fr.php.net/date ) te permet de retourner le numéro de la semaine avec l'argument W donc après tu regardes si cette semaine est paire ou impaire et en fonction tu affiches une image :)
Ainsi tu auras une image qui change une semaine sur deux :)

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 19:56
par sc62
Oui si il ni a rien de mieux je vais prendre ça

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 20:48
par zeus
Et si tu ajoutais le numéro de la semaine et l'année ?

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 21:01
par AB
Tu peux aussi enregistrer dans un fichier texte (avec file_put_contents() et file_get_contents() par exemple) le numéro de la semaine et dès qu'il change, enregistrer ce nouveau numéro et en même temps changer ton image.

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 21:25
par dunbar
Ou peut-être jouer sur chaque Lundi :?:
//-->Zone horraire utiliser ici Europe/Paris.--//
date_default_timezone_set('Europe/Paris');
//-->Ici on demande le Lundi avant (last Monday) du mois .--//
$Last_lundi =  'Lundi passé nous étions le : '.strftime('%d-%m-%Y', strtotime('last Monday')).'.';
//-->Ici on demande le prochain Lundi (next Monday) du mois .--//
$Next_Lundi =  'Le prochain Lundi est le : '.strftime('%d-%m-%Y', strtotime('next Monday')).'.';
:wink:

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 21:26
par momox
Tu as besoin d'une image différente pour chaque semaine de l'année ?

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 22:03
par sc62
Je vait utiliser la solution des semaines simple a mettre en oeuvre et juste peu etre un probleme au mois de decembre mais bon ...je verfifiré le temp venu ..

Merci à vous .
<?
$nombre = date('w');

    if ($nombre%2 == 0)
    {
        echo '<img src="semaine1.gif" width="50" height="50" alt="Semaine 1">';
    }
    else
    {
        echo '<img src="semaine2.gif" width="50" height="50" alt="Semaine 2">';
    }
?>

Re: Image qui change toutes les semaine

Posté : 10 août 2009, 22:09
par momox
J'y pense, la 53ème semaine ne pose aucun problème dans ton cas.
Si tu fais une alternance semaine paire semaine impaire, il n'y a aucun problème.
La 53ème demaine de l'année et la 1ère de l'année suivante n'en forment qu'une et les deux sont impaires, donc aucun problème de ce coté là.
Par contre, en cas de 52semaines, tu auras ta dernière et ta première semaine très raccourcis, mais de peu.

Re: Image qui change toutes les semaine

Posté : 11 août 2009, 01:29
par AB
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.

Re: Image qui change toutes les semaine

Posté : 05 août 2014, 20:07
par LeRédac
Juste un BIG merci AB, ça ma éviter de me casser la tête pendant des heures ;-)

Re: Image qui change toutes les semaine

Posté : 05 août 2014, 20:08
par LeRédac
Juste un BIG merci AB, ça ma éviter de me casser la tête pendant des heures ;-)
"évité" ;-)