Executer un script 1 fois par jour

Spender
Invité n'ayant pas de compte PHPfrance

29 juin 2008, 00:08

Bonjour !

Voilà, je cherche à executer un script une fois par jour qui effectue des suppressions dans ma BD.

Jai pensé à faire ainsi : lorsque mon script est executé, je mets a jour un champ date d'une table créée spécialement à la date du jour et ainsi, si la date_du_jour = champ date, je ne le réexecute pas.

Mais j'aurais voulu savoir s'il n'y avait pas une facon plus élégante, car je suis obligé d'inclure mon script dans l'index.php par exemple.

Eléphant du PHP | 419 Messages

29 juin 2008, 10:11

Slt, une tache CRON ...

Mammouth du PHP | 1668 Messages

29 juin 2008, 11:02

Tout les hébergeur ne l'ont pas et si quelqu'un trouve le script et qu'il peut faire l'action plusieurs fois par jour ça peut être dangereux...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Eléphant du PHP | 86 Messages

29 juin 2008, 11:35

je pense que ça devrait être dans ce style là ton script ^^
<?php
$time = time() - 86400;
$temps1 = "requête pour lire la dernière date enregistré";

if ($time >= $temps1){
requête de suppression;
requête UPDATE de la date avec time();
}
?>
a placé dans un script régulièrement utilisé et voila il s'exécutera toutes les 24H du moment que le fichier ou il est placé est exécuté au moins une fois dans ce laps de temps

Mammouth du PHP | 1668 Messages

29 juin 2008, 12:14

Il sera éxécuté toutes les 24h minimum, mais pas une fois par jour :roll:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Eléphant du PHP | 86 Messages

29 juin 2008, 14:35

c'est quasiment pareil je pense la suppression aura lieu une fois par jour soit toutes les 24H car le script ne sera traité QUE si la condition est remplie donc pas de soucis il me semble et c'est une alternative au crontab quand on n'y a pas accès.

ViPHP
ViPHP | 2144 Messages

29 juin 2008, 15:46

Ou bien si on a pas accès à un crontab sur son serveur, on peut utiliser ce service: http://www.webcron.org/

Spender
Invité n'ayant pas de compte PHPfrance

30 juin 2008, 04:39

Merci énormément pour vos réponses, j'ai le choix maintenant :)

alex60650
Invité n'ayant pas de compte PHPfrance

09 avr. 2019, 20:39

si tu veux exécuter une requête tous les jours à la même heure, je vous propose cette vidéo : https://youtu.be/ETaH_H4s3GY

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

10 avr. 2019, 09:45

si tu veux exécuter une requête tous les jours à la même heure, je vous propose cette vidéo : https://youtu.be/ETaH_H4s3GY
Ouh là là, quelle horreur ! :afraid:
Ne surtout pas suivre ce tuto, il y a des énormes erreurs de conception, du code redondant, etc...

Pour exécuter une action une fois par jour à une heure précise, il faut utiliser les taches planifiées sur un serveur Windows, les cronjobs sur un serveur linux, ou un service en ligne comme https://www.setcronjob.com
Quand tout le reste a échoué, lisez le mode d'emploi...