首頁 >php教程 >PHP开发 >PHP中利用sleep函數實作定時執行功能實作程式碼

PHP中利用sleep函數實作定時執行功能實作程式碼

高洛峰
高洛峰原創
2016-12-23 12:50:041228瀏覽

在一些競猜的網站中,如果我們需要做一個定時執行的功能,比如有一道題,在十秒之內要完成,否則顯示“您已超時”,如果完成,則跳轉到下一道題上面,而這中間有一個十秒的停頓,這樣的功能是怎麼實現的呢?

在PHP中,有一個sleep函數,大概意思是程式執行遇到sleep函數時暫停N秒後繼續往下執行。如sleep(10)意思就是程式自上往下執行,遇到sleep(10)語句後暫停十秒,然後繼續往下執行。函數括號內的參數是一個數值,代表暫停時間值,單位秒。請看下面一段程式碼:

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

以上程式執行結果是:

05:31:23

05:31:33

可能某些童鞋做實例的時候會說怎麼我的程式執行出錯,提示超時。出現這個問題不要慌,這是PHP預設頁面執行時間導致的,在PHP中預設執行頁面時間是三十秒鐘,這對於一般程式夠用了。但如果你要做類似定時執行功能就必須再頭部宣告設定下執行時間set_time_limit(0)。 0是代表不限時,單位是秒。

如果執行時間超過30秒,再執行操作記得要再次連接MYSQL,否則執行無效! ! !原因是執行時間過長以後資料庫連線可能斷開問題,也不能讀到資料庫資訊!

去操作一下吧,為自己的實例添購一個暫停的功能,然後再往下執行。

更多PHP中利用sleep函數實現定時執行功能實現代碼相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn