Renitiailiser une variable à 0 après 86400 secondes

Résolu/Fermé
Fontainard Messages postés 68 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 24 janvier 2017 - 9 févr. 2015 à 17:28
Fontainard Messages postés 68 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 24 janvier 2017 - 10 févr. 2015 à 11:19
Bonjour,

Tout bête, j'aimerais simplement réinitialiser une variable dans mon script qui tourne en continue, en la remettant à 0 après un laps de temps de 24 heures.
La variable en question ne peux excéder 1, et ne devrait pas être égale à 1 plus de 24 heures.

Je n'ai pas trouvé l'astuce approprié pour mettre une durée de vie à cette variable, qui elle est utilisé pour un compteur d'une condition dans une boucle. vous sauriez comment faire ?

Merci pour votre aide!

3 réponses

jordane45 Messages postés 38289 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 novembre 2024 4 703
9 févr. 2015 à 18:09
Bonjour,

Le souci... c'est que sans savoir comment tu incrémentes ta variable à ce jour... impossible de t'aider....

NB: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Il faudrait aussi que l'on sache ce que tu fais de cette variable... tu la sauvegarde quelque part ( en BDD par exemple ? )
Et ...comment tu sais à quelle moment elle est passée à 1 ?

dans mon script qui tourne en continue

Tu n'as pas de timeout ??

Tu es bien en PHP ( présente section de ce forum) ?
1
Tokumei_no_L Messages postés 10 Date d'inscription lundi 9 février 2015 Statut Membre Dernière intervention 11 février 2015 2
Modifié par Tokumei_no_L le 9/02/2015 à 18:15
Le plus simple est de stocker cette variable dans une table à l'aide d'une requête SQL. ( valeur, date )

au moment ou tu crées la variable, tu renseignes la date.

A chaque exécution du script, tu récupères cette variable sous la forme d'une matrice et tu la compares au timestamp actuel ( voir fonction strtotime() pour comprendre le fonctionnement du timestamp )
Si la différence de timestamp est supérieur à 24 heures, tu update ta table en passant ta valeur à 0 et la date à la date courante.

Sinon, en script pur PHP sans accès BDD, je vois pas comment c'est possible désolé :)
1
Fontainard Messages postés 68 Date d'inscription dimanche 16 mars 2014 Statut Membre Dernière intervention 24 janvier 2017
10 févr. 2015 à 11:19
Oui, il s'agit d'un script php temporaire sans accès BDD pour trouver une anomalie sur un serveur qui tourne en continue voilà pourquoi je n'ai pas de timeout ^^ (désolé pour mon topique peu explicite, je pensais qu'il y avait une méthode simple (a))

Finalement, j'ai procédé autrement (totalement refait mon script) en magouillant avec la méthode sleep(), et j'ai obtenu quelque chose de mieux adapté à ce que je souhaitais, c'est parfait ^^

Merci beaucoup pour vos interventions constructifs Jordane et Tokumei ^^
0