2012-04-06 9 views
1

Ich erstelle einen Dienst, bei dem Benutzer Daten, die in einer MySQL-Datenbank oder Textdatei gespeichert sind, zu einer bestimmten Zeit jede Woche an eine bestimmte Adresse senden.E-Mails mit Daten aus MySQL-Datenbank oder Textdatei planen

Ich verstehe, dass dies nicht ist, wofür PHP ist, und ich habe von etwas gelesen, das Cron genannt wird, der die Arbeit erledigt, aber ich fragte mich, ob es irgendwelche anderen Optionen gibt? Gibt es ein Skript, das möglicherweise von Gmail aus mit den Daten, die eingefügt oder angehängt wurden, gesendet wurde?

Antwort

1

Ich kann nur auf zwei Arten denken, es zu tun:

  1. einen cron-Job Nachdem Sie Ihre Sendeskript alle x Minuten

    $database->query("SELECT * FROM `mail_queue` WHERE `time` < " . time()); 
    while($object = $res->fetch_object()){ 
        mail($object->to, $object->subject, $object->message, "FROM: [email protected]"); 
    } 
    

    (Wenn Sie anrufen‘ Verwenden Sie ein Webhosting-Konto, das Sie einfach auf dem Bedienfeld erstellen können)

    * * * * * /bin/php complete_path_to_your_php_script.php 
    
  2. ein Skript zu haben in einer Schleife läuft (nicht zuverlässig, da sie aufgrund einer Zeitüberschreitung nicht mehr funktionieren kann, Fehler, Speicherausfall, ...)

1

Der beste Weg ist die Verwendung von Cron-Jobs. Wenn Sie aus irgendeinem Grund nicht in der Lage sind, sie zu verwenden, können Sie die Dienste thecloudblocks.com verwenden, mit denen Sie Jobs planen können.

Alternativ können Sie eine Funktion für den Ruhezustand erstellen, bis die Zeit für den Job gekommen ist. Wie,

function do_some_job_at($time){ 
     time_sleep_until($time); 
     JOB(); 
} 

do_some_job_at(time() + 20); //Runs job after 20 seconds. 
+0

Yah, eine andere option, wenn sie aus irgendeinem grund nicht cron access haben - http://webcron.org/ –

0

Wenn Sie das PHP-Skript müssen jederzeit ausgeführt werden, dann würde ich empfehlen, jobs/dienstleistungen für den start zu verwenden

Verwandte Themen