Засыпание сценария (во время выполнения)

Тема в разделе "PHP", создана пользователем [iq], 19 мар 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. [iq]

    [iq]

    Регистр.:
    17 июл 2007
    Сообщения:
    201
    Симпатии:
    44
    Привет всем.
    Возникла ситуация, когда надо, чтобы пхп сценария приостановил свою работу на небольшое время (15сек). Но чтобы вовремя исполнения, например при выполнении каждой итерации.

    Функция sleep() как показали мои тесты, просто приостанавливает сценарий сначала.

    Прошу помочь.
     
  2. masto

    masto Прохожие

    опиши ситуацию, может найдётся другой способ.
     
  3. [iq]

    [iq]

    Регистр.:
    17 июл 2007
    Сообщения:
    201
    Симпатии:
    44
    Ситуация такая: фактически надо имитировать пользователя, чтобы он несразу переходил по ссыдкам на сайте, а представим смотрел страницу сек15 или 10.
    думал, что поможет слип, но не пошло.
    Наверное, есть вариант заставить компилятор что-то считать) или сделать цикл, кубический или больше. Но как тогда нормально узнать про время? Может есть нормальный вариант?)
     
  4. ozware

    ozware

    Регистр.:
    22 апр 2007
    Сообщения:
    327
    Симпатии:
    42
    может sleep поставить в цикл?

    открылся hide :)
    можно сделать так:
    sleep(50 - mt_rand(35, 40));
    будет от 10 до 15 секунд случайным образом
     
  5. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    не может быть, а так и нужно.
    sleep - засыпает там где вызывается, если тебе нужно слип между переходами, так и ставь его между итерациями а не вначале скрипта.

    логика на что? :mad:
     
  6. [iq]

    [iq]

    Регистр.:
    17 июл 2007
    Сообщения:
    201
    Симпатии:
    44
    хмм..ребят, я так и делал.
    Просто для примера выполнил сценарий:
    PHP:
    echo'123</br>';
    sleep(10);
    echo
    '123</br>';
    Оно подвисло на 10 сек, а потом сразу вывело:
    123
    123
    Я думал, что компилятор выведет данные, которые были до слипа, а потом уснет.
     
  7. mister

    mister Писатель

    Регистр.:
    10 фев 2008
    Сообщения:
    6
    Симпатии:
    0
    в самом начале
    PHP:
    @ob_end_flush();
     
  8. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    либо как вариант, перед слипом ставить flush()
    PHP:
    echo'123</br>';
    flush();
    sleep(10);
    echo
    '123</br>';
     
    Alix нравится это.
  9. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    В одном учебнике автор использовал секундомер и ставил счетчик в цикл while до тех пока не наступит нужный момент в будущем.
     
  10. wayly

    wayly Прохожие

    Нехорошо читать плохих писателей. Тебе сказали уже как нада сделать.

    Не эхилось потому, что сначала хитцо в буффер, а потом - на вывод. flush флушит буффыр =)
     
Статус темы:
Закрыта.