PHP中利用sleep函数实现定时执行功能实现代码

2018-09-07 19:16

阅读:303

  在一些竞猜的网站中,如果我们需要做一个定时执行的功能,比如有一道题,在十秒之内要完成,否则显示“您已超时”,如果完成,则跳转到下一道题上面,而这中间有一个十秒的停顿,这样的功能是怎样实现的呢?

  在PHP中,有一个sleep函数,大概意思是程序执行遇到sleep函数时暂停N秒后继续往下执行。如sleep(10)意思就是程序自上往下执行,遇到sleep(10)语句后暂停十秒,然后继续往下执行。函数括号内的参数是一个数值,代表暂停时间值,单位秒。请看下面一段代码:

   <?php // current time echo date(h:i:s) . \n; // sleep for 10 seconds sleep(10); // wake up ! echo date(h:i:s) . \n; ?>

  以上程序执行结果是:

  05:31:23

  05:31:33

  可能某些童鞋做实例的时候会说怎么我的程序执行出错,提示超时。出现这个问题不要慌,这是PHP默认页面执行时间导致的,在PHP中默认执行页面时间是三十秒钟,这对于一般程序够用了。但如果你要做类似定时执行功能就必须再头部声明设置下执行时间set_time_limit(0)。0是代表不限时,单位是秒。

  如果执行时间超过30秒,再执行操作记得要再次连接MYSQL,否则执行无效!!!原因是执行时间过长以后数据库连接可能断开问题,也就不能读到数据库信息!

  去操作一下吧,为自己的实例添一个暂停的功能,然后再往下进行执行。


评论


亲,登录后才可以留言!