首先,纠正我,如果我错了,但我假设当你运行Sleep()函数时,它会暂停运行脚本所在的脚本,而不是在开头。如果这是真的,有人可以告诉我为什么下面的脚本等待5秒,然后同时显示两个回声。不回显页面加载的第一个语句,然后等待5秒,然后激发第二个回声......
echo "Your account username has been updated, you will now be redirected to the home page!";
sleep(5);
echo "REDIRECT!";
答案 0 :(得分: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>";