PHP实现windows下的定时运行

如下代码:

  
  
  
  
  1. <?php  
  2. ignore_user_abort(true);           // 即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.  
  3. set_time_limit(0);             // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去  
  4. $interval = 300;               // 时间间隔 单位 秒  
  5. $key_file="key.txt";          // 配置文件  
  6.  
  7. if ( isset($_GET['s']) ) {  
  8.   if ( $_GET['s'] == "0" ){        // 停止工作,但不退出  
  9.     $s="false";  
  10.     echo "关闭";  
  11.   } elseif ( $_GET['s'] == "1" ) {      // 工作  
  12.     $s="true";  
  13.     echo "开启";  
  14.   } elseif ( $_GET['s'] == "2" ) {      // 退出  
  15.     $s="die";  
  16.     echo "退出";  
  17.   } else {  
  18.     die("Err 0:stop working 1:working 2:exit");  
  19.   }  
  20.     
  21.   $string = "<?php\n return \"".$s."\";\n?>";  
  22.   write_inc($key_file,$string,true);  
  23. }  
  24.  
  25. if ( file_exists$key_file ) ) {  
  26.   do{  
  27.     $mkey = include $key_file;  
  28.     if ( $mkey == "true" ) {          // 如果工作  
  29.     /////////////////////  工作区间  //////////////////////////////////  
  30.   $filename = "index.php";  
  31.   $contents = file_get_contents("http://www.bestlovesky.com/" . $filename);  
  32.   $f = fopen("index.html","w");  
  33.   fwrite($f,$contents);  
  34.   fclose($f);  
  35.     ///////////////////////////////////////////////////////////////////  
  36.     } elseif ( $mkey=="die" ) {        // 如果退出  
  37.       die("退出!");  
  38.     }  
  39.     sleep($interval);           // 等待$interval秒  
  40.   } while ( true ) ;  
  41. else {  
  42.   die$key_file . " 不存在 !" );  
  43. }  
  44.  
  45. function write_inc( $path , $strings , $type = false )  
  46. {    
  47.   $path = dirname(__FILE__) . "/" . $path;  
  48.   if ( $type == false ) {  
  49.     file_put_contents$path , $strings , FILE_APPEND );  
  50.   } else {  
  51.     file_put_contents$path , $strings );  
  52.   }  
  53. }  
  54.  
  55. ?>  

做下解释:ignore_user_abort() 函数设置与客户机断开是否会终止脚本的执行。如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行,如果未设置该参数,会返回当前的设置。

所以本程序设置了true,通过url访问以下:例如:http://www.bestlovesky.com/sky.php?s=1

然后关掉就行了。

程序就会根据设置的$interval 定时运行了

 

你可能感兴趣的:(PHP,windows,职场,休闲)