PHP睡眠(10)发生在错误的时间

时间:2016-07-25 13:14:43

标签: php

这是我的页面脚本:

<?php
session_start();
$_SESSION["square"]=$_SESSION["square"]+$_POST['roll'];
echo '<img src="images/dice.gif">';
?>
<?php sleep(10);?>
<?php
echo "You rolled a ".$_POST['roll']."!";   
if ($_SESSION["square"]<100){
    $url="board.php";
}
else
{
  $url="finished.php";
}
 echo '<META HTTP-EQUIV=Refresh CONTENT="2; URL='.$url.'">'; 
?>

睡眠&#39;在我的页面内容加载之前发生。我希望暂停在骰子滚动结果出现之前发生,但是在显示gif之后。

为什么暂停发生似乎在它被召唤之前?

2 个答案:

答案 0 :(得分:0)

PHP在服务器端执行。让用户等待(睡眠)PHP可能会导致糟糕的用户体验,因为网站似乎仍然会加载..

您可以尝试在PHP中计算骰子卷,并根据您的需要使用HTML或JavaScript显示它,然后转发用户。

答案 1 :(得分:0)

通常PHP会在将输出发送到HTTP服务器和客户端之前等待整个脚本完成执行。

但是ob_flush()存在于&#34;发送输出缓冲区的内容&#34;,所以你可以试试。

但必须注意的是PHP和网页并不是为这种启动/停止传输而设计的--AJAX是更好的选择。