un script suivant l'heure

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : un script suivant l'heure

par Florent » 31 mars 2007, 10:56

Le problème que j'avais c'est que les scripts sont souvent lancés à l'heure prévue et jusqu'a +15 mn de retard.
En mettant : if($heure == 07 et si ça passe à 7h15, ça ne fonctionnait pas.
Mais le '===', je ne connaissais pas et là apparament c'est bon, donc merci.

par Expreg » 31 mars 2007, 09:35

<?php
if(intval(date('H'))===8)
{
echo 'affichage de la variable';
}
else
{
echo 'on ajoute 1 à la variable';
}
?>
Où est le problème ?
- Soit tu ne comprends pas ce que tu veux faire et forcément...
- Soit tes explications sont biaisées et nous n'avons pas toutes les infos...

par Florent » 31 mars 2007, 09:21

En fait j'ai un compte sur webcron.
Je peux appeler un script toutes les heures, c'est ce que je vais faire.
Et aussi une fois par jour.

Si je crée 2 fichiers, 1 lancé toutes les heures et l'autre une fois par jour, le premier sera lancé et les calculs seront cumulés au second une fois par jour. Ce que je ne veux surtout pas.

Imaginons le "truc" suivant :

Toutes les heures je désire faire $variable += 1;
Et une fois par jour : echo $variable;
Et, à cette unique fois en 24 h je ne veux pas additionné 1 !

Je ne maitrise pas du tout ce que vous m'avez indiqué. :( Et j'en eviens à mon bout de code :
$heure = date(H);
    if($heure >= 07 and $heure < 09) {
Il n'y a pas une combine pour faire un "truc" équivalent ?

par Expreg » 31 mars 2007, 08:44

Le plus facile pour ce genre de traitement c'est de créer un bête txt avec la valeur date/heure du jour courant sous forme de timestamp UNIX

Ensuite on compare ce timestamp dans le txt avec le timestamp date/heure du jour au moment de l'appel du script.
Si égalité + 24 heures, on traite la partie et on remplace la valeur dans le txt, sinon on ne fait rien.

Il reste aussi les taches cron (webcron.org je crois ou .com)
A mois que tu ne sois l'heureux possesseur d'un dédié ce qui resoudrait ton problème immédiatement :wink:

par stevelace » 31 mars 2007, 08:41

Je pense que tu devrais aller voir du coté des cronjobs sur ton serveur

Parce-que si cette page n'est pas appelée à l'heure voulue par un internaute, ton script ne s'exécutera pas tout simplement :wink:

par Florent » 31 mars 2007, 07:15

C'est si simple que ça :) j'ai loupé quelque chose alors.
Alors merci, je me remet au boulot.

J'ai essayé :
$heure = date(H);
if($heure == 07) {
Ca marche mais à 07 h précisément. Si je mets >= 07 à 7,8,9 10h.... ça lance le calcul.
Alors j'ai essayé :
$heure = date(H);
	if($heure >= 07 and $heure < 09) {
Mais là la condition n'est pas remplie, je me demande pourquoi ?

par orgerix » 30 mars 2007, 20:18

TU peux mettre des bloc if de ce style :
if(date(H)==06)
{bloc d'instruction}

un script suivant l'heure

par Florent » 30 mars 2007, 19:19

Bonjour
Voici ce que je n'arrive pas à faire :

J'ai un fichier php qui est lancé automatiquement toutes les heures.
Seulement j'aimerais qu'une partie du code ne s'exécute qu'une fois par jour (par exemple à 06h00).
C'est parce-qu'il y a des calculs qui doivent se faire à toutes les heures et d'autres, en plus de ces derniers que toutes les 24 h.

Faisable ?
Merci pour toute aide.