![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 18.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
A teraz cos takiego:
w MySQL'u trzymam adresy email (kolo 1000). Chce zrobic wysylanie - wybieram najpierw do kogo (np. dla osob w wieku 10 -20lat). Wpisuje tresc (html). Dobra, teraz chce wyslac (w skrocie): [php:1:4c51decccd]<?php #do kogo $query = "SELECT DISTINCT email FROM tabela"; $mysql_result = mysql_query($query, $mysql_link); while($row = mysql_fetch_row($mysql_result)) { $do = $row[0]; $from = "ARTI<adres@wp.pl>"; $mailheaders="From: $fromn"; $mailheaders.="Reply-To: $fromn"; $mailheaders.="X-Mailer: PHPn"; $mailheaders.="MIME-version: 1.0n"; $mailheaders.="Content-type: text/html; charset=iso-8859-2"; $wyslij=mail($do, $temat, $tresc, $mailheaders); } ?>[/php:1:4c51decccd] Z tym, ze przy wysylce do duzej ilosci osob (ok.500-1000) wykonywanie skryptu bedzie trwało długo. Mysle nad takim rozwiazaniem - wysyla 50 maili i przeładowuje strone, pokazuje sie napis: wysłano do pierwszej 50-tki osob, prosze czekac wysylanie trwa nadal. Co kolejne 50 wyslanych maili, niech sie przeładowuje strona i pojawia kolejny napis. Jak to zrobić? Samo przeładowywanie to wiem że można użyć js (location.replace). co ważne: wszystko sie odgrywa w pliku do ktorego kieruja dwa submity i sa warunki: [php:1:4c51decccd]<?php if( isset($_POST['podglad']) ) { //pokazuje podglad } else if( isset($_POST['krok2']) ) { //tu jest caly proces wysylania } ?>[/php:1:4c51decccd] jest to o tyle wazne ze przy przeładowywaniu strony może chyba być problem ze spełnieniem tego drugiego warunku.. czy nie?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Wsumie to sądze, że całość będzie oparta o pobieranie rekordów z parametrami Kod LIMIT $start,$po_ile i przekazywanie zmiennych, które zmienią te parametry. Ale nie jestem w tym zbyt obcykany wiec prosze o wskazówki, czy dobrze kombinuje.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 18.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
nie podałem tego w poscie ale nie zapomnialem ignore_user_abort(true);
mam dokladnie tak jak podales [php:1:7a5c320751]<?php ignore_user_abort(true); set_time_limit(0); ?>[/php:1:7a5c320751] i wciaz mi sie wyswietla Kod Cannot set time limit in safe mode
w manualu jest napisane: Kod Ostrzeżenie
set_time_limit() has no effect when php is running in tryb bezpieczny. There is no workaround other than turning off safe mode or changing the time limit in the php.ini. co mam zrobić? - nie mam dostępu do ustawień php ani nie mam na serwerku pliku php.ini |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 11:07 |