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默認頁面執(zhí)行時間導(dǎo)致的,在PHP中默認執(zhí)行頁面時間是三十秒鐘,這對于一般程序夠用了。但如果你要做類似定時執(zhí)行功能就必須再頭部聲明設(shè)置下執(zhí)行時間set_time_limit(0)。0是代表不限時,單位是秒。
如果執(zhí)行時間超過30秒,再執(zhí)行操作記得要再次連接MYSQL,否則執(zhí)行無效?。?!原因是執(zhí)行時間過長以后數(shù)據(jù)庫連接可能斷開問題,也就不能讀到數(shù)據(jù)庫信息!
去操作一下吧,為自己的實例添一個暫停的功能,然后再往下進行執(zhí)行。
相關(guān)文章
php實現(xiàn)將base64格式圖片保存在指定目錄的方法
這篇文章主要介紹了php實現(xiàn)將base64格式圖片保存在指定目錄的方法,涉及php針對圖片文件的傳輸、判定及轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2016-10-10SESSION信息保存在哪個文件目錄下以及能夠用來保存什么類型的數(shù)據(jù)
session默認是保存到c:\windows\temp目錄下,但是通過修改php.ini中的session.save_path值可以改變session的保存路徑2012-06-06PHP+Mysql實現(xiàn)多關(guān)鍵字與多字段生成SQL語句的函數(shù)
這篇文章主要介紹了PHP+Mysql實現(xiàn)多關(guān)鍵字與多字段生成SQL語句的函數(shù),涉及字符串與數(shù)組的操作,是構(gòu)造SQL語句非常實用的技巧,需要的朋友可以參考下2014-11-11DISCUZ在win2003環(huán)境下 Unable to access ./include/common.inc.php
今天幫客戶配置服務(wù)器的時候發(fā)現(xiàn)的這個問題,也是因為權(quán)限問題或因為php的配置問題,如果碰到這樣的問題,大家可以參考下面的方法。2011-11-11