PHP在這方面應(yīng)該說是比較弱,如果只用php去實現(xiàn)可以如下:
<?php ignore_user_abort();//關(guān)閉瀏覽器后,繼續(xù)執(zhí)行php代碼 set_time_limit(0);//程序執(zhí)行時間無限制 $sleep_time = 1;//多長時間執(zhí)行一次 do{ $fp = fopen('test.txt','a+'); fwrite($fp,"這是一個php博客:phpddt.com /n"); fclose($fp); sleep($sleep_time); }while(true); ?> 但是當(dāng)我執(zhí)行腳本的時候,即使我關(guān)閉了瀏覽器,我根本就沒法去停止這段程序了,所以你需要一個執(zhí)行腳本的開關(guān),你可以用外部文件引入的方法來實現(xiàn),在while循環(huán)的時候,include開關(guān)變量即可。那么就可以這樣實現(xiàn):
建立外部引入變量文件 switch.php 內(nèi)容如下:
<?phpreturn 1;//1執(zhí)行腳本 0退出執(zhí)行腳本?>
改良腳本如下:
<?php ignore_user_abort();//關(guān)閉瀏覽器后,繼續(xù)執(zhí)行php代碼 set_time_limit(0);//程序執(zhí)行時間無限制 $sleep_time = 5;//多長時間執(zhí)行一次 $switch = include 'switch.php'; while($switch){ $switch = include 'switch.php'; $fp = fopen('test.txt','a+'); fwrite($fp,"這是一個php博客:phpddt.com $switch /n"); fclose($fp); sleep($sleep_time); } exit(); ?> 這個腳本只是測試可行,具體效率應(yīng)該不高,對于lamp,你完全可以使用crontab 來實現(xiàn)。
再補充一段小代碼:
ignore_user_abort();//關(guān)掉瀏覽器,PHP腳本也可以繼續(xù)執(zhí)行.set_time_limit(0);// 通過set_time_limit(0)可以讓程序無限制的執(zhí)行下去$interval=60*30;// 每隔半小時運行do{ //這里是你要執(zhí)行的代碼 sleep($interval);// 等待5分鐘}while(true); 關(guān)于PHP定時執(zhí)行任務(wù)的實現(xiàn)就為大家介紹這么多,之后還有相關(guān)文章為大家分享,不要錯過。

















