un script pour changer de fond avec imagefilter

Rechercher

un script pour changer de fond avec imagefilter

Par sheitan  -  3 reponses  -  Le 18/10/2008 14:27  -  Editer  - 

Bonjour, j'ai vu votre tutoriel avec la fonction imagefilter

http://www.apprendre-php.com/tutoriels/tutoriel-38-imagefilter-les-effets-speciaux.html

c'est le filtre img filter brigness qui m'interesse en fait,

ce que j'aimerais c'est faire un script qui me change le fond celon l'heure mais aussi celon la saison

ou la date, pour l'heure, il faudrai utiliser 4 fois le filtre brigness de clair à foncer pour faire le jour et la nuit en fait.

puis pour la date ou la saison, afficher une image différente, 4 au total pour faire les quattres saisons.

et que les ces deux fonctions tournent en même temps.

quelqu'un pourrait il me donner les grandes lignes pour ce script.

je vous remercient d'avance de bien vouloir éclairer ma lanterne.

 

 

Réponses apportées à cette discussion

Par Emacs  -  Le 18/10/2008 23:58  -  Haut de page  - 

Salut,

Tu dois simplement faire des conditions sur les données de date du moment où est exécuté le script. Pour cela, tu auras besoins des fonctions time() et date() .

A bientôt,

Hugo.

 
Par sheitan  -  Le 19/10/2008 01:26  -  Haut de page  - 

Salut hugo et merci pour ta reponse,

j'ai commencer un semblant de script, je suis sur la bonne voie ?

qu'est ce qu'il me manque pour qu'il fonctionne et comment y integrer le filtre brigness pour la variable $heure?

comment recuperer les images avec la variables $image

merci beaucoup .

 
Par Cyrano  -  Le 18/11/2008 23:16  -  Haut de page  - 

ça aurait été bien d'utiliser les balises appropriées pour afficher ton code, comme ceci :

<?php
$heure = array('jour', 'nuit');
$saison = array('hiver', 'printemps', 'ete', 'automne');
$heure = date('G');
// nuit de 19h à 6h
if($heure > 7 && $heure < 20)
{
    $img = 'jour' ;
}
else
{
    $img = 'nuit' ;
}
$saison = date('n');
// de decembre à mars
if($saison > 11 && $saison < 2)
{
    $img = 'hiver' ; // de mars à juin
}
elseif($saison > 2 && $saison < 5)
{
    $img = 'printemps' ; // de juin à septembre
}
elseif($saison > 5 && $saison < 8)
{
    $img = 'ete' ; // de septembre à decembre
}
else
{
    $img = 'automne' ;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  </head>
  <body background="<?php echo $image ; ?>" style="background-repeat:no-repeat;">
  </body>
</html>

Plus lisible tu ne trouves pas ?

Ceci dit, il y a une erreur dans ton PHP : de cette manière, tu ne verras jamais les images jour ou nuit pour la simple raison qu'une fois déterminée la valeur de $img pour l'heure, tu écrases cette valeur avec le choix selon la saison.

Logiquement, il te faut huit images, par exemple :

jour_hiver, jour_printemps, jour_ete, jour_automne, nuit_hiver, nuit_printemps, nuit_ete et nuit_automne.

Avec ça, il faudrait construire le nom de l'image appropriée par concaténation, comme ceci :

<?php
$heure = array('jour', 'nuit');
$saison = array('hiver', 'printemps', 'ete', 'automne');
$heure = date('G');
// nuit de 19h à 6h
if($heure > 7 && $heure < 20)
{
    $img = 'jour' ;
}
else
{
    $img = 'nuit' ;
}
$saison = date('n');
// de decembre à mars
if($saison > 11 && $saison < 2)
{
    $img .= '_hiver' ; // de mars à juin
}
elseif($saison > 2 && $saison < 5)
{
    $img .= '_printemps' ; // de juin à septembre
}
elseif($saison > 5 && $saison < 8)
{
    $img .= '_ete' ; // de septembre à decembre
}
else
{
    $img .= '_automne' ;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  </head>
  <body background="<?php echo $image ; ?>.jpg" style="background-repeat:no-repeat;">
  </body>
</html>

Note bien dans le choix par saison le ".=" au lieu du "=" tout court. Un détail toutefois, dans le correctif ci-dessus, j'ai aussi ajouté l'extension qui manquait également au nom, ici, j'ai mis .jpg, mais ajuste selon tes propres images.

 

 

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |