Пожалуйста, извините, что может показаться очень простым вопросом, и может отсутствие понимания того, как работает PHP/спящий режим(), но я был после некоторого руководства по следующему коду:Как сон() работает в PHP
<?php
$time_now = time();
echo "Time Now : " . $time_now;
sleep(10);
$time_then = time();
echo "<br>Time Then : " . $time_then;
?>
Я ожидал, что этот код выведет текущее время, а затем подождите 10 секунд, затем выведите время через 10 секунд.
Вместо этого он ждет 10 секунд и одновременно выводит оба раза. Времена правильны в том, что «Время сейчас» - это когда я выполнил код, а «Время» - через 10 секунд, но он не отвечает, как я ожидал (выведите «Время сейчас», подождите 10 секунд, а затем продолжайте выполнение код и показать «Время тогда»).
Учитывая, что мое понимание явно неверно, можно ли это достичь? Или я был бы лучше, чтобы вызвать другой файл, чтобы загрузить то, что я хочу сделать следующее:
Файл 1
<?php
$time_now = time();
echo "Time Now : " . $time_now;
header('Location: page2.php');
?>
Файл 2
<?php
sleep(10);
$time_then = time();
echo "<br>Time Then : " . $time_then;
?>
Спасибо.
В 'сон() 'command, используется для того, чтобы сообщить серверу подождать, прежде чем выполнять ваш скрипт. Кажется, неважно, поставите ли вы функцию в начале, середине или в конце, она все равно спит. – Jer
@ C0dekid Спасибо, я это понимаю, но я ожидал, что код перед командой sleep выполнит и эхо до этого ждет и повторит второе значение. – omega1
Вывод буферизуется в целом. Если вы хотите немедленный ответ при вызове 'echo', вам нужно очистить свой вывод. – Phylogenesis