mperlam
17.04.2010, 13:08:50
Cześć. Mam mały problem. Chcę odpalić niemałą pętlę. Chciałbym jednak w każdej chwili móc ją zatrzymać. Wyłączenie skryptu powoduje dalsze jego działanie "w tle" przez kilka minut (ustawiam limit czasu wykonywania skryptu na 0). Czy jest możliwość zatrzymania skryptu w inny sposób? Oczywiście exit() tutaj nie pomoże...
MateuszS
17.04.2010, 13:26:49
mperlam
17.04.2010, 13:59:08
Z break również próbowałem, bez skutku. Poniżej zamieszczam skrypt na którym testuje czy działa jak należy.
while (1==1) {
if($_GET['stop'] == 'yes') {
break;
} else {
$data=date("H:i:s t-m-Y"); file_put_contents('log.txt', $data);
}
}
tomm
17.04.2010, 14:03:09
a gdzie ustawiany jest $_GET['stop'] ?
poza tym możnaby $_GET['stop'] == 'no' ustawić jako warunek while, wówczas if/else wewnątrz jest nie potrzebny
mperlam
17.04.2010, 14:09:25
$_GET STOP wysyłam do przeglądarki po odpaleniu skryptu. Ten się zatrzymuje ale nadal działa "w tle". Jak napisałem - jest to przykładowy skrypt (sprawdzający działanie zatrzymywania) więc oszczędź sobie i mi wychwytywania jego "błędów".
tomm
17.04.2010, 14:17:50
kolego sympatyczny pytam w jakiej sytuacji ma sie skrypt zatrzymać, jak widzisz nawet twoj przykładowy skrypt jest nie logiczny
mperlam
17.04.2010, 14:21:40
Napisałem, że chcę wykonać dużą pętlę a więc możesz się domyślić, że jest to odpowiednik 1==1 w przykładowym skrypcie.
Po prostu chcę mieć przycisk na stronie aby zatrzymać skrypt (pętlę) np. z innej zakładki. Już sobie poradziłem (z pomocą pliku txt).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.