PHP timeout
Sziasztok,
felmerült egy gondolat egy PHP kóddal kapcsolatban. A kód igen egyszerű, egy egyszerű feladatra. Annyit tesz, hogy e-mailt küld számos e-mail címre (kb. 600 db). A címeket egy txt-ből, a szöveget és tárgyat pedig egy HTML formból kapja. A kód szerintem elég egyértelmű, nem is szaporítom tovább a szót. A felmerülő kérdésem az, hogy kell-e ilyenkor olyan dolgokon gondolkozni, hogy script time-out?
Lévén, hogy nem függvény hívásokról van szó, hanem egy ciklusról, nem tudom, hogy egyáltalán felmerül-e ez a probléma (mert hogy maga a mail mindig csak egy levelet küld). Szerintetek? Előre is köszönöm!
■ felmerült egy gondolat egy PHP kóddal kapcsolatban. A kód igen egyszerű, egy egyszerű feladatra. Annyit tesz, hogy e-mailt küld számos e-mail címre (kb. 600 db). A címeket egy txt-ből, a szöveget és tárgyat pedig egy HTML formból kapja. A kód szerintem elég egyértelmű, nem is szaporítom tovább a szót. A felmerülő kérdésem az, hogy kell-e ilyenkor olyan dolgokon gondolkozni, hogy script time-out?
Lévén, hogy nem függvény hívásokról van szó, hanem egy ciklusról, nem tudom, hogy egyáltalán felmerül-e ez a probléma (mert hogy maga a mail mindig csak egy levelet küld). Szerintetek? Előre is köszönöm!
- <?php
- if ( $fp = fopen("contacts.txt","r") ) // fájl megnyitása olvasásra
- {$temp = "";
- while (! feof ($fp)) // fájlból beolvasás, mail küldés ha elérjük a $ karaktert ez ismételve egészen a fájl végéig
- {
- $karakter = fgetc($fp);
- if ($karakter != "$") {
- $temp = $temp . $karakter;}
- else { $subject = ($_GET[subject]);
- $message = $_GET[message];
- $headers = 'MIME-Version: 1.0' . "\r\n";
- $headers .= 'Content-type: text/html; charset=ISO-8859-2' . "\r\n";
- $headers .= 'From: tkis62##kukac##gmail.com' . "\r\n" .
- 'Reply-To: tkis62##kukac##gmail.com' . "\r\n" .
- 'X-Mailer: PHP/' . phpversion();
- mail($temp, $subject, $message, $headers);
- echo $temp;
- echo "<br />";
- $temp = "";
- }
- }
- }
- else echo "Fájl hiba";
- fclose($fp);
- ?>
Igen
jQuery-vel
A hírlevélküldést én úgy oldottam meg hogy egy oldalon elhelyeztem egy linket egy DIV-en belül.
Mikor ezt az oldalt megnyitom, a mailcímeket, az indexet és az levelekben levő változó adatokat session-ban tömbökbe tárolom el.
A linkre kattintáskor jQuery $.post-al megnyitom a mailküldőt - ami épp a 0 indexen áll (az indexet is session-ban tárolom) - és végiglépked a session-ban tárolt tömbön (az index alapján).
A mailküldés után az indexet növelem egyel, hogy a következő betöltésnél már a következő indexű adatok legyenek érvényesek.
A jQuery Post-ot úgy kell megírni hogy a betöltés után töltse újra a mailküldő fájlt. (http://api.jquery.com/jQuery.post)
Nekem bevált... így minden betöltés, egy levél, nincs timeout.
Cron
Pontosan, mivel nem szolgálsz
Nyilván a PHP binary-d ott van ahol, és paraméterek sem feltétlen kellenek (ha vannak, az $argv globális változóból könnyedén kiolvashatod őket)
A time limitet meg ennyivel elintézed a script elején:
Sziasztok, köszönöm szépen a