Forums d'entraide informatique - Les forums de PCW

Version complète : [php] petit script avec function time() et date()
Vous consultez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
Bonjour les codeurs,
j'ai un projet de site et j'aimerais réaliser un script qui modifirait le fond en fonction de l'heure et des saisons.

pour les saisons je pense faire le script avec la fonction date(n)
par contre pour l'heure j'aurais deux fond différents, le jour et la nuit et il faut qu'il tourne en même temps que les saisons du coup je me demande quel est la meilleur solution,
8 image pour les quattres saions le jour et la nuit
ou bien les quattres images des saions puis un script php ou ajax qui noircie ou éclaire la page..
si je met 8 images la transition entre le jour et la nuit se fera directement et sa risque de pas être top, des idées pour ce problème?
en php j'ai vu la function 'IMG_FILTER_BRIGHTNESS' qui pourrait être utile pour mon script,
Si vous avez des petits conseils pour faire un truc pas mal, je vous en serait très reconnaissant. :mrgreen:
Tu as toujours une possibilité d'assombrir une image avec un voile (filtre) JS et de lui appliquer plus ou moins de transparence, le plus dur étant d'arriver à symboliser une atmosphère nocturne !
oui il me faut aussi faire un script pour faire apparaitre une class d'image le jour et une class pour la nuit pour les images superposé au fond.
Ca c'est dans .js :

function mon_fond_qui_change_tout_seul_qui_déchire

Switch : Si time = ? Alors img =
oula déjà le php c'est dure pour moi alors le js, j'ai rechercher des infos sur la function que tu parle mais sa ne change pas le souci de transition entre le jour et la nuit et c'est possible en php
je préfère privilégier le php au js mais je pense qu'il en faudra quand même pour la transition.

en faite je crois qu'il me faut 3 script pour mon projet,

un qui change le fond tout les 4 mois, php surrement

un qui fait que si je met une class:jour en css à une image elle ne s'affiche que entre 6het 20h puis une autre class pour la nuit, php encore mais je c'est pas trop comment faire..

et le plus compliqué je pense un qui modifie la luminosité de la page, php avec la function brigness ou js/ajax :smoke:

:shock: j'ai de ses idées desfois :mrgreen:
Oui oui je confirme les tests d'heure ne php, par contre la gestion des calques j'ai l'habitude avec le JS en php ca doit aussi pouvoir se gérer la transparence, moi je m'en sert pour des effets de transition, euh bah je regarderais des que je peux si en php ca marche pareil la jvais en cours !
Salut vous deux,


Si tu n'as pas besoin que le fond se change automatiquement sans rechargement de page le JS ne te sert à rien...

Pour charger un fond en fonction des saisons et du jour et de la nuit :




$heure = date("G"); // En mode 24 heures
$debut_nuit = 24; // Configurable, la nuit commence à minuit
$fin_nuit = 6; // Configurable, le jour commence a 6h
$nuit = ($heure >= $debut_nuit && $heure < $fin_nuit) ? true : false;


if($nuit) {

switch($saison) {
case 'printemps':
$fond = 'xxx';
break;

case 'été':
$fond = 'xxx2';
break;

// etc ...
}
}
else { // Si c'est le jour
// Tu fais pareil que pour la nuit
}



Pour savoir la saison tu fais :


$annee_actuelle = date("Y");

$time = time();

$debut_printemps = mktime(0, 0, 0, 21, 03, $annee); // On récupère le timestamp du 21 mars de cette année (debut du printemps);

// Faire la même chose avec les autres dates de changement de saison

if($time >= $debut_printemps && $time < $fin_printemps) {
// c'est le printemps
}
else if() {} // Etc ...



Voilà j'ai pas tout fait mais quasiment là Wink


PS : Si ça t'intéresses, voici les pages de manuel de date() et de mktime()

merci troll je vais étudier tout ça,
serait tu me dire aussi comment appeler une class dans un script php
il faut utiliser 'ThisClassName' un truc comme ça?

en faite c'est pour faire une class nuit et une class jour
la class nuit s'affiche entre tel heure et tel heure sinon elle ne s'affiche pas.

Merci pour ton script Wink
Pour les classes, tu cherches "Introduction POO php" sur Google et tu devrais avoir pas mal d'informations à mon avis qui te seront très utiles.

Sinon vites fait deux trois principes syntaxiques de base :

Instancier une classe (créer un objet qui EST une copie de cette classe (donc qui a les méthodes et propriétés) ) :



$objet = Maclasse(); // Aussi possible de passer des variables : $objets = Maclasse($var1, $var2, $var3);



Accéder à une propriété :



echo $objet->propriete;



Accéder à une méthode :



$objet->mamethode();



Ah et puis créer une classe :



classe Maclasse { //<-- Attention à ne pas mettre les "()" de la fonction
function __construct() {
// Fonction [obligatoire] exécutée quand la classe est insanciée (c'est à cette fonction que tu peux, ou pas, passer des variables quand tu instancies la classe
}

var $propriete = "xxx"; // Une propriété
function methode() {
// Une méthode...
}
}



Attention si tu utilises une version antérieur à PHP 5.0 tu dois écrire "function nomdelaclasse() {" à la place de "function __construct() {"


Voilà Wink


A très bientôt.

URLs de référence