PHP中利用sleep函數(shù)實(shí)現(xiàn)定時(shí)執(zhí)行功能實(shí)現(xiàn)代碼
在一些競(jìng)猜的網(wǎng)站中,如果我們需要做一個(gè)定時(shí)執(zhí)行的功能,比如有一道題,在十秒之內(nèi)要完成,否則顯示“您已超時(shí)”,如果完成,則跳轉(zhuǎn)到下一道題上面,而這中間有一個(gè)十秒的停頓,這樣的功能是怎樣實(shí)現(xiàn)的呢?
在PHP中,有一個(gè)sleep函數(shù),大概意思是程序執(zhí)行遇到sleep函數(shù)時(shí)暫停N秒后繼續(xù)往下執(zhí)行。如sleep(10)意思就是程序自上往下執(zhí)行,遇到sleep(10)語句后暫停十秒,然后繼續(xù)往下執(zhí)行。函數(shù)括號(hào)內(nèi)的參數(shù)是一個(gè)數(shù)值,代表暫停時(shí)間值,單位秒。請(qǐng)看下面一段代碼:
<?php
// current time
echo date('h:i:s') . "\n";
// sleep for 10 seconds
sleep(10);
// wake up !
echo date('h:i:s') . "\n";
?>
以上程序執(zhí)行結(jié)果是:
05:31:23
05:31:33
可能某些童鞋做實(shí)例的時(shí)候會(huì)說怎么我的程序執(zhí)行出錯(cuò),提示超時(shí)。出現(xiàn)這個(gè)問題不要慌,這是PHP默認(rèn)頁面執(zhí)行時(shí)間導(dǎo)致的,在PHP中默認(rèn)執(zhí)行頁面時(shí)間是三十秒鐘,這對(duì)于一般程序夠用了。但如果你要做類似定時(shí)執(zhí)行功能就必須再頭部聲明設(shè)置下執(zhí)行時(shí)間set_time_limit(0)。0是代表不限時(shí),單位是秒。
如果執(zhí)行時(shí)間超過30秒,再執(zhí)行操作記得要再次連接MYSQL,否則執(zhí)行無效?。?!原因是執(zhí)行時(shí)間過長以后數(shù)據(jù)庫連接可能斷開問題,也就不能讀到數(shù)據(jù)庫信息!
去操作一下吧,為自己的實(shí)例添一個(gè)暫停的功能,然后再往下進(jìn)行執(zhí)行。
相關(guān)文章
PHP細(xì)數(shù)實(shí)現(xiàn)提高并發(fā)能力的方法
這篇文章主要介紹了PHP提高并發(fā)能力有哪些方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
使用PHP實(shí)現(xiàn)蜘蛛訪問日志統(tǒng)計(jì)
本篇文章是對(duì)使用PHP實(shí)現(xiàn)蜘蛛訪問日志統(tǒng)計(jì)的代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07
php中使用臨時(shí)表查詢數(shù)據(jù)的一個(gè)例子
使用臨時(shí)表查詢數(shù)據(jù)的一個(gè)例子,供大家學(xué)習(xí)參考2013-02-02
大家都應(yīng)該掌握的PHP關(guān)聯(lián)數(shù)組使用技巧
這篇文章主要為大家分享了10個(gè)必須掌握的PHP關(guān)聯(lián)數(shù)組使用技巧,感興趣的小伙伴們可以參考一下2015-12-12
PHP和JAVA中的重載(overload)和覆蓋(override) 介紹
PHP不支持方法和操作符重載。JAVA不支持操作符的重載(但是“+”實(shí)際上是一種操作符重載)2012-03-03

