我有一个php文件test.php
。在浏览器调用或加载或打开php文件后不久,我希望在5秒后echo
或print
“成功”。顺便说一下,有时我可能想在特定的时间间隔后执行/初始化一些函数。
有人能告诉/建议我如何使用php制作一个面向时间的任务,比如5秒后打印一条消息?
提前致谢..
答案 0 :(得分:5)
您可以使用sleep()
中断脚本的执行。如果您想要亚秒精度,可以使用usleep()
:
# wait half a second (500ms)
usleep(500000);
echo 'Success';
答案 1 :(得分:4)
在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://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函数,然后运行相应的代码。