Renitiailiser une variable à 0 après 86400 secondes

Résolu
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

  1. Modérateur
    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
    1. 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
      1. 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