Daten täglich per Mail abrufen
Sabine
- datenbank
0 wahsaga0 Ilja0 Sven Rautenberg0 Ilja0 Sabine0 Sven Rautenberg0 Ilja0 Sven Rautenberg0 Ilja
0 Ilja
Wie schreibe ich ein Script in PHP das täglich (bzw. nach einer sich ständig wiederholenden Zeitspanne) eine Aktion durchführt. Im Klartext, ich möchte mir täglich per Mail die neusten Einträge aus meiner Datenbank zusenden lassen.
hi,
Wie schreibe ich ein Script in PHP das täglich (bzw. nach einer sich ständig wiederholenden Zeitspanne) eine Aktion durchführt.
zeitsteuerung kannst du auf einem linux-webserver über sog. "cronjobs" realisieren.
per php-script selber geht das nicht. du kannst aber mit dem cronjob ein php-script starten lassen.
gruss,
wahsaga
yo,
hängt sehr stark vom dbms und eventuell dem betriebssystem ab.
Ilja
Moin!
hängt sehr stark vom dbms und eventuell dem betriebssystem ab.
Nö, vom DBMS hängt das überhaupt nicht ab, und das Betriebssystem hat nur marginale Auswirkungen, sprich: Auch ohne Cronjobs gibt es da Lösungswege.
- Sven Rautenberg
yo,
Nö, vom DBMS hängt das überhaupt nicht ab, und das Betriebssystem hat nur marginale Auswirkungen, sprich: Auch ohne Cronjobs gibt es da Lösungswege.
dbms ala mssql sind stark in ihre umgebung eingebunden und können von sich aus die täglichen neuen einträge, änderungn oder was auch immer gewünscht per email verschicken, sogar einen anpipen, wenn bestimmte aktionen ausgeführt werden. andere dbms können so etwas nicht. insofern würde ich schon sagen, dass dbms spielt eine rolle.
was das betriebsystem angeht, so unterscheiden sich bestimmte vorgehensweisen, je nachdem welches betriebsystem zugrunde liegt. auch das automatische starten eines batch jobs, dass zum beispiel ein php script zu einem betimmten zeitpunkt startet, ist sicherlich von betriebsystem zu betriebsystem verschieden.
Ilja
Welche Lösungswege gibt es da noch?
Moin!
Welche Lösungswege gibt es da noch?
Solange du einen Trigger hast, also eine Aktion, die einigermaßen regelmäßig eintritt, gibt es für alles eine Lösung.
Bei cronjobs wäre das Erreichen einer gewissen Uhrzeit der Trigger, muß aber extra auf dem Server konfiguriert werden - das ist für Massenhosting unerreichbar, es sei denn, du hast einen cronjob (oder ein paar mehr) bei deinem Hosting mit dabei.
Alternativ kannst du von deinem Clientrechner aus natürlich auch zeitgesteuert eine Webseite abrufen, die dann die Mail losjagt. Windows hat den Taskplaner, damit würde das auch gehen. Aber du mußt zu diesem Zeitpunkt den Rechner an haben und online sein, sonst klappt das nicht.
Außerdem kannst du natürlich deine Startseite (oder auch sonst jede Seite) mit einem kleinen Skript versehen, welches prüft, ob die Mail an diesem Tag schon rausgeschickt wurde. Falls ja: Einfach die Seite ausliefern. Falls nein: Mail generieren, wegschicken, und dann die Seite ausliefern. Sofern deine Mail nicht zehn oder mehr Sekunden Datenbankabfrage benötigt, ist das ein praktikabler Weg.
Das Datum der letzten Generierung einer Mail speicherst du schlauerweise in der Datenbank. :) Oder alternativ in einer Textdatei (mußt dich dann aber ums Locking der Datei kümmern, sonst können sich zwei PHP-Skripte gegenseitig stören.
- Sven Rautenberg
yo,
Solange du einen Trigger hast, also eine Aktion, die einigermaßen regelmäßig eintritt, gibt es für alles eine Lösung.
trigger halte ich für ungünstig, da es datenaktivität vorraussetzt. wenn sabine aber die mail nur zu einer bestimmten zeit zugeschickt haben will, dann müsste es in dieser zeit eine datenbankaktivität geben. man macht sich somit davon abhängig und bleibt diese mal aus, bleibt auch die mail aus.
Ilja
Moin!
Solange du einen Trigger hast, also eine Aktion, die einigermaßen regelmäßig eintritt, gibt es für alles eine Lösung.
trigger halte ich für ungünstig, da es datenaktivität vorraussetzt.
Ich habe nicht von Datenbanktriggern gesprochen - und meine Erklärungen, was alles ein Trigger sein kann (was einfach "Auslöser" heißt - nicht nur bei Datenbanken), sollte das eigentlich noch verstärkt haben.
- Sven Rautenberg
yo,
Ich habe nicht von Datenbanktriggern gesprochen - und meine Erklärungen, was alles ein Trigger sein kann (was einfach "Auslöser" heißt - nicht nur bei Datenbanken), sollte das eigentlich noch verstärkt haben.
da habe ich das wirklich mit triggern aus datenbanken zu sehr assoziert, was so nicht von dir gemeint war.
Ilja
yo,
wie gesagt, es wäre sehr hilfreich zu erfahren, welches dbms du benutzt, welches betriebsystem du hast und welche daten in der mail enthalten sein sollen, sprich alle daten oder nur die am dem tag veränderten etc.
Ilja