如何冻结PHP脚本几秒钟?

时间:2010-09-08 09:35:25

标签: php scripting

我希望在加载到下一个脚本之前,让我的PHP脚本在屏幕上冻结至少5秒钟。我尝试过“Sleep()”,但这不是我正在寻找的功能,因为它只会暂停正在“加载”的脚本。

以下是我的代码:

echo "Welcome ",$_SESSION['username']."<br>";
    echo "Click here to Logout :    ".'<br><a href="logout.php">Logout</a>';

    sleep(10);

    header("Location: http://192.168.11.32/phploginserver/test.php");

    echo '<script type="text/javascript">window.location="test.php"</script>';    
}

我希望echo'到另一个页面'在加载之前至少延迟5秒,以便我的用户可以在自动重定向到下一页之前查看他们的用户名。

3 个答案:

答案 0 :(得分:1)

$time = new DateTime();
$newtime = $time->Modify("+5 seconds");



while($newtime > (new DateTime()))
    {
    // Do nothing
    }

答案 1 :(得分:0)

您无法在屏幕上冻结PHP脚本 仅仅因为屏幕上没有PHP脚本。但仅仅是HTML,由浏览器呈现。

这种冻结被认为是不好的做法,现在不使用 要么显示消息,要么显示消息,要么立即让用户到达目的地(首选) 你可以使用一些基于AJAX的技巧,就像stackoverflow那样。

  

以便我的用户可以查看他们的用户名

难道他们不知道吗? 他们不能在下一页看到它吗? 如果用户受到干扰并且没有注意到该消息该怎么办?

答案 2 :(得分:0)

您可以使用php标头的附加参数来延迟它。像这样:

header('Refresh: 10; url=http://192.168.11.32/phploginserver/test.php');