设置基于PHP定时器的功能

时间:2011-06-19 11:08:41

标签: php timer

我有一个php文件test.php。在浏览器调用或加载或打开php文件后不久,我希望在5秒后echoprint“成功”。顺便说一下,有时我可能想在特定的时间间隔后执行/初始化一些函数。

有人能告诉/建议我如何使用php制作一个面向时间的任务,比如5秒后打印一条消息?

提前致谢..

5 个答案:

答案 0 :(得分:5)

您可以使用sleep()中断脚本的执行。如果您想要亚秒精度,可以使用usleep()

# wait half a second (500ms)
usleep(500000);
echo 'Success';

答案 1 :(得分:4)

在PHP中执行此操作通常不是一个好主意。 PHP脚本应该尽快运行。延迟PHP脚本的PHP执行

  • 将使用比必要更多的服务器资源
  • 可以满足PHP,服务器或浏览器中的超时限制。

最好的选择是JavaScript及其setTimeout()

setTimeout(function() { alert ("Done!"); }, 5000); 

(或者,您可以指示JavaScript显示对话框或类似对象,而不是alert()。)

如果您不想依赖JavaScript,可以考虑META redirect将用户带到包含“完成!”的页面。消息。

<meta http-equiv="refresh" content="5; url=http://example.com/">

答案 2 :(得分:0)

您可以使用jQuery计时器来延迟队列中后续项目的执行

http://api.jquery.com/delay/

http://www.w3schools.com/js/js_timing.asp

<html>
<head>
<script type="text/javascript">
function timeMsg()
{
var t=setTimeout("alertMsg()",3000);
}
function alertMsg()
{
alert("Hello");
}
</script>
</head>

<body>
<form>
<input type="button" value="Display alert box in 3 seconds"
onclick="timeMsg()" />
</form>
</body>
</html>

答案 3 :(得分:0)

while(1){
    sleep($time);
    youfunction();
}

答案 4 :(得分:0)

如果必须,您可以使用:http://php.net/manual/en/function.register-tick-function.php,但请注意对性能的影响。

在被调用函数中,检查是否已经过了足够的时间,如果是,则取消注册tick函数,然后运行相应的代码。