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