php прервать и возобновить работу

Segey
На сайте с 23.08.2005
Offline
404
2957

Есть скрипт, например:


For($i=0;$i<10;$i++){
echo $i.'<br />';
}

Как можно прервать скрипт на каком-то этапе а потом работу возобновить?

Еще проблема в том, что подобный скрипт с большим количеством вложеных циклов по отмене его работы в браузере работать продолжает как ни в чем не бывало. И помогает только перезагрузка php.

Brexit - уже совсем рядом. (https://about-this-model.blogspot.com/2019/03/brexit.html)
Zlo_606ep
На сайте с 14.12.2006
Offline
129
#1

Если нужно паузу - sleep (время в секундах), если прервать работу скрипта в цикле - то break. Не совсем понял, что значит прервать, а затем продолжить.

Segey
На сайте с 23.08.2005
Offline
404
#2

Zlo_606ep,

Остановить на текущем шаге а потом с него опять продолжить.

Если нужно паузу - sleep (время в секундах), если прервать работу скрипта в цикле - то break.

Проблема не в этом. Я скрипт загрузил в браузере, отменяю его работу и дальше он работает будто ничего не случилось. Т.е. его даже в браузере не открыто, а результаты его работы в виде заполняемой БД на лицо...

AV
На сайте с 29.05.2006
Offline
6
#3

Спросите личше здесь http://rusfaq.ru/?Step=issues&ID0=5&ID1=3&ID2=22 эксперты в области php вам бысто ответят

!kt0
На сайте с 28.06.2006
Offline
46
#4

Думал по этому поводу. Честно - не знаю.

Идеи такие: Микротаймом считаем время работы. Если у нас на сервере допустим 30 секунд лимит, то на 25-й секунде сохраняем все текущие параметры в файл, выводим ява-скрипт перезагрузки на экран и подыхаем. Когда ява-скрипт сработает - восстанавливаем данные мз файла и продолжаем.

PS: На сайте битрикса есть файлик bitrix5setup.php предназначенный для перекачки с сервера на сервер. Там используется шаг 30, 60 итд. Не успел еще посмотреть

http://seorepa.com/ (http://seorepa.com/) - блог был там, пока не запилили mchost
MM
На сайте с 02.12.2003
Offline
49
m&m
#5

set_time_limit() и ignore_user_abort() пробовали?

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#6
!kt0:
Идеи такие: Микротаймом считаем время работы. Если у нас на сервере допустим 30 секунд лимит, то на 25-й секунде сохраняем все текущие параметры в файл, выводим ява-скрипт перезагрузки на экран и подыхаем. Когда ява-скрипт сработает - восстанавливаем данные мз файла и продолжаем.

Это не идея, а жесточайшее извращение. Самый жуткий вид BDSM... 🤣

Первое. В PHP есть глобальные переменные и сессии.

Второе. В PHP есть понятие рекурсии.

Третье. В PHP можно отдать header.

Четвёртое. В PHP скрипт может вызвать сам себя.

Пятое. В PHP есть много полезных функций, например, register_shutdown_function().

Шестое. В PHP есть замечательная функция connection_status().

Ну и так далее...

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
PB
На сайте с 05.04.2006
Offline
51
#7

Segey,

0. Ставите кукес(это чтобы потом клиента идентифицировать)

1. Вопрос обрыва решаем так : http://php.net/connection_status - там всё ясно

2. Когда клиент заново открывает браузер, мы из чего-нибудь(хоть из файла) достаём последнее валидное состояние и продолжаем.

Но, это всё пурга. Конструктив — ниже.

Если бы перед Вами такая задача возникла по-делу, то Вы легко могли бы сами найти варианты. Если не нашли — значит Вы вообще не о том думаете. Пятница блин !!! пить гулять ! а Вы — скрипты, циклы... шутка юмора. Скажите, чего хотите добиться, тогда глядишь чего дельное подскажем.

СКОРПИОН, зачем BDSM — просто йоги ! : -))

Сайт находится в разработке. (http://www.e-anatomy.ru)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий