|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() |
Bonjour.
je suis désolée si le sujet n'est pas au bon endroit. je travaille sur une application et je dois envoyer un mail tous les soirs à une certaine heure. J'ai fait la fonction d'envoi de mail avec Zend_Mail qui envoie dès qu'il y a un changement. Mais ce que je veux faire, c'est garder tous les changements en mémoire, et envoyer en une seule fois, à la fin de la journée. Je débute avec zend, et je n'ai jamais fait de script batch, d'où mes interrogations: 1- le script va-t-il contenir le code d'envoi de mail zend que j'ai déjà fait? 2- à quel niveau de l'architecture doit se situer le fichier? 3- comment lancer le fichier: depuis la vue zend ? |
|
|
00
|
|
|
#2 | |||
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 140 ![]() |
Citation:
Citation:
Citation:
En gros tu auras sur ton serveur un script qui va aller exécuter le batch à une heure précise, dans ce batch tu executes ton script php via la commande php. |
|||
|
10
|
|
|
#3 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
1- Le mieux est de ne pas passer par une URL
2- 3- ni être placé dans le directory web (habituallement httpdoc, www, etc...) mais dans un dossier parent et autre, néanmoins géré par PHP (et Apache) De cette manière, personne ne pourra lancer le script à moins d'avoir la main sur PHP dans le serveur. 1- Le script doit pouvoir être exécutable en mode CLI (avec tout ce qui va avec (gestion des arguments passés s'il y en a, gestion des includes des classes, etc.) 3- Donc, surtout pas dans une vue, joignable par URL. Le CRON devrait être lancé depuis le serveur et par le serveur uniquement.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
10
|
|
|
#4 |
|
Membre à l'essai
![]() |
Bonjour,
merci pour vos explications. D'après ce que vous m'avez dit, voilà comment je prévois de procéder: placer le script et le batch dans le répertoire bin le fichier php qui va envoyer les mails sera placé dans controllers Je vais faire cela, et je vous tiendrai au courant. Bon début de semaine à tous! |
|
|
00
|
|
|
#5 | ||||
|
Membre à l'essai
![]() |
rebonjour,
j'ai fait mon batch et le fichier php. j'essaie de tester en double-cliquant sur le batch, mais toujours pas de mail reçu. mail.bat Code :
Et le fichier EnvoiMails.php, qui se trouve dans models (non pas dans controllers): Code :
|
||||
|
|
00
|
|
|
#6 | |
|
Membre à l'essai
![]() |
Bonjour,
personne. Il m'affiche l'erreur suivante: Citation:
|
|
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() |
Salut!!
après maintes tentatives, j'ai fait appel à un webservice pour envoyer les mails. C'est dommage, car j'aurai voulu savoir où était mon erreur; mais l'essentiel est que je puisse faire ce que je voulais au départ... Merci à tous |
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() |
Salut!!
après maintes tentatives, j'ai fait appel à un webservice pour envoyer les mails. C'est dommage, car j'aurai voulu savoir où était mon erreur; mais l'essentiel est que je puisse faire ce qu eje voulais au départ... Merci à tous |
|
|
00
|
|
|
#9 | ||
|
Membre régulier
![]() Étudiant Inscription : juin 2008 Messages : 70 ![]() |
je me rappel avoir déjà fait un truc de ce genre...
Si tu as la main sur le serveur et si c'est une distrib linux, tu peux gérer un cron qui te lancerait un script php (autonome) tout les jours (pas besoin de script batch). Avec le gestionnaire de tâche Windows je ne sais pas si c'est possible... Après, il ne faut pas oublier les inclusions qui vont bien car tu n'accèdes plus à ton index.php et son "set_include_path()". Et si tu veux pouvoir l'utiliser en web service il te suffira de faire une action du style : Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com