2010-04-27 4 views
2

J'ai un script php que j'utilise pour envoyer du courrier aux clients. Comment puis-je exécuter ce script tous les 5 jours par exemple? Quelqu'un peut-il me donner une idée ou des liens? MerciEnvoyer un e-mail tous les n jours

Répondre

2

Si vous avez une base de données en dessous, vous pouvez stocker la date du dernier courrier dans la base de données. Le script vérifie ensuite quelle est la dernière date de votre base de données. Si cela fait plus de n jours dans le passé, il envoie un nouveau courrier et écrase la date dans la base de données avec la date actuelle. Vous pouvez également utiliser Cron-jobs en alternative.

+0

@Ham: Merci! C'est ce dont j'avais besoin :) – chupinette

+0

Comment déclencheriez-vous le script pour vérifier quelle est la dernière date dans la base de données? –

0

Je suis sûr qu'il existe une multitude de méthodes que vous pouvez utiliser, donc je vais vous dire comment je le fais: J'utilise cron qui est seulement disponible sur les serveurs de type unix.

0

Vous pouvez utiliser un travail cron si votre serveur en a la capacité.

http://en.wikipedia.org/wiki/Cron

Une autre option est d'utiliser un service externe qui déclenche votre script une fois tous les cinq jours.

0

Le meilleur que vous serez pour créer un cronjob.

Si vous ne pouvez pas utiliser cron sur votre serveur Web, procurez-vous-en un et récupérez la page avec un outil externe.

Vous pouvez également exécuter un démon qui « sommeil » 5 cinq jours entre chaque envoi. *

0

Vous avez besoin d'une sorte d'événement « déclencheur » externe. Probablement un travail cron pour exécuter la tâche directement tous les n jours, mais comme il semble que ce soit basé sur le Web, vous pouvez également avoir un travail cron (ou une tâche Windows) qui visite une page Web prédéfinie tous les n jours, et avoir la page Web envoyer l'email.

2

Utiliser cron. Votre fichier cronjob ressemblerait à peu près comme ceci:

* * */5 * * /usr/local/bin/php -q /www/scripts/myscript.php 

C'est à peu près tout. C'est de la tarte!