經(jīng)常有用戶與我們談到,希望能給他們的商城網(wǎng)站開發(fā)一個較完善的客戶管理系統(tǒng),而且最好是比較智能.例如:定期給會員發(fā)送節(jié)日祝福,中秋節(jié)、春節(jié)等節(jié)日,還有就是網(wǎng)站會員過生日,給客戶發(fā)送生日?;騼?yōu)惠券,這些信息若是直接發(fā)送到用戶的網(wǎng)站系統(tǒng)里,實現(xiàn)是沒有任何問題,因為只要用戶在登錄過程中,會有相關(guān)的操作,我們就可以響應(yīng)某些事件,進(jìn)行發(fā)送.隨著時代的發(fā)展,例如:要將這些信息直接發(fā)送到用戶手機,或微信中,那網(wǎng)站沒有用戶響應(yīng),就得靠系統(tǒng)定期執(zhí)行,在常規(guī)系統(tǒng)實現(xiàn)中,我們都是要用戶打開某個頁,才能響應(yīng)該某個工作.而且還不能關(guān)閉,因為關(guān)閉可能導(dǎo)致沒有處理發(fā)送完成.針對這個問題百恒網(wǎng)絡(luò)技術(shù)人員與廣大技術(shù)人員分享其功能實現(xiàn)方法.
這里我們要用到ignore_user_abort()函數(shù)搭配set_time_limit(0)和sleep($interval)即可實現(xiàn)程序自動運行更新,實現(xiàn)代碼如下:
ignore_user_abort(); //即使Client斷開(如關(guān)掉瀏覽器),PHP腳本也可以繼續(xù)執(zhí)行.
set_time_limit(0); // 執(zhí)行時間為無限制,php默認(rèn)的執(zhí)行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去
$interval=60*2; // 每隔2分鐘運行
do{
$fp = fopen('test.txt','a');
fwrite($fp,'testContent');
fclose($fp);
sleep($interval); // 等待2分鐘
}while(true);
?>
只要運行上面的頁面,然后關(guān)掉,程序就會一直運行下去。
當(dāng)然我們也可以使用windows 自帶的任務(wù)計劃來實現(xiàn),我們要創(chuàng)建一個.bat(批處理文件),將該文件添加系統(tǒng)的任務(wù)計劃中.即可以實現(xiàn),如圖所示:
原創(chuàng)文章出自:南昌網(wǎng)站制作公司-百恒網(wǎng)絡(luò) 如轉(zhuǎn)載請注明出處!專業(yè),專注于南昌網(wǎng)站設(shè)計,為用戶提供高品質(zhì)的網(wǎng)絡(luò)產(chǎn)品及優(yōu)質(zhì)服務(wù)是我們始終的追求.