說道定時器,我以前一直進入一個死胡同,而且一直迷惑不解的是:“服務器怎麼能直接去執行PHP代碼?”
現在回想起來,我以前的想法是錯誤的,網頁的執行流程
打開WEB頁面 —- 加載HTML代碼 (包括CSS,javascript)— 執行PHP代碼 — 完成
粗約的就先理解成上面的這個樣子。
我們都知道PHP做成服務器端的腳本,它是有超時設置的,可以通過 set_time_limit() 函數來處理。但這樣處理PHP代碼十分
消耗CPU資源。所以不建議通過循環處理PHP代碼來實現。
一般的情況是用javascript來處理。
$(function(){ var tims = 1000*60*60*10; //設置延遲處理的時間,這裡設置的是10個小時 setInterval(function(){ //要執行的碼 $.post("./data.php",{ postdata },function(datas){ if(id.data == 1) { $("body").append(id.info+"<br/>"); } }); },tims); },json);
上面是WEB前台要執行的javascript代碼,通過延時執行ajax來達到自動處理的效果
php後台處理代碼,就簡單了,只要接受從前台POST過來的數據就可以了。然後將數據處理後存入數據庫。
就這麼簡單,只是,頁面不能關,這個你可以理解成軟件的後台程序。
其實一個軟件分為:前端,後端,服務器端。前端和後端都是在你電腦上運行的。
後台程序只有通過任務管理器才監控的到,但它都做了什麼事?你根本就不知道。
360才能如“工蜂”般竊取你的隱私,QQ才能獲取的cookie。
不多說了,這樣是軟件設計模式的一種,能懂就可以了。