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

