在一些競猜的網站中,如果我們需要做一個定時執行的功能,比如有一道題,在十秒之內要完成,否則顯示“您已超時”,如果完成,則跳轉到下一道題上面,而這中間有一個十秒的停頓,這樣的功能是怎麼實現的呢?
在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,否則執行無效! ! !原因是執行時間過長以後資料庫連線可能斷開問題,也不能讀到資料庫資訊!
去操作一下吧,為自己的實例添購一個暫停的功能,然後再往下執行。
更多PHP中利用sleep函數實現定時執行功能實現代碼相關文章請關注PHP中文網!