0

首先,如果我错了,请纠正我,但我假设当您运行 Sleep() 函数时,它会暂停运行脚本位于脚本中的位置,而不是在开始时。如果这是真的,有人可以告诉我为什么下面的脚本等待 5 秒然后同时显示两个回声。不要在页面加载时回显第一个语句,然后等待 5 秒,然后触发第二个回显......

      echo "Your account username has been updated, you will now be redirected to the home page!";
      sleep(5);
      echo "REDIRECT!";
4

1 回答 1

2

在您的代码中,PHP 执行将暂停 5 秒,但不会部分呈现自身。即它不会显示第一个语句,然后是第二个。PHP 将其所有值保存在输出缓冲区中,并在执行完成时显示它们。

发生的情况是,它在输出缓冲区中保存第一个 echo 的值,然后等待 5 秒,然后在输出缓冲区中保存另一个 echo 输出并立即显示所有内容。

您尝试做的事情在 JS 中要容易得多。

echo "Your account username has been updated, you will now be redirected to the home page!";
echo "<script> document.setTimeout(function() { document.location('redirect.html'); }, 5000); </script>";
于 2013-07-15T23:08:18.720 回答