PHP执行定时任务

时间:2022-01-11 07:53:45

PHP执行定时任务

1.PHP像文件写入信息的时候

<?php

for ($i=0; $i < 10; $i++) {

$str="我是第".$i."条"."\r\n";

file_put_contents("a.txt",$str,8);

}
这样就可以换行,linux使用"\n"就可以,windows"\r\n".

我是第0条

我是第1条

我是第2条

我是第3条

我是第4条

我是第5条

我是第6条

我是第7条

我是第8条

我是第9条

<?php
    ignore_user_abort();//关闭浏览器后,继续执行php代码
    set_time_limit(0);//程序执行时间无限制
    $sleep_time = 5;//多长时间执行一次

//$switch为include 'jsonout.php'的返回值

//return 1;//1执行,0不执行
    $switch = include 'jsonout.php';
    $i = 1;
    while($switch){

//这里是想要循环执行的语句
        $t = '我是第';
        $r = '条';
        $msg=$t.$i.$r."\r\n";
            file_put_contents("a.txt",$msg,8);//写入信息
        sleep($sleep_time);//等待时间,进行下一次操作。
        $i++;
    }
    exit();
 ?>

原文链接:http://blog.csdn.net/leafgw/article/details/50800153

现在对用到的知识进行解析:

Uslepp()是推延执行   sleep()暂停

1.int ignore_user_abort ([ string $value ] )

ignore_user_abort只是忽略用户关闭操作,如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。

一般都是用ignore_user_abort配合sleep来完成自动计划任务,但是这些都没有操作系统自带的计划任务来得强

它的状态,只要执行一句ignore_user_abort();这个就能在页面上看到它是返回0或1!

2.set_time_limit — 设置脚本最大执行时间

设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30最大的执行时间,单位为秒。如果设置为0(零),没有时间方面的限制。

3.ob_flush()和flush()的区别

“ob_flush()flush()的区别。前者是把数据从PHP的缓冲中释放出来,后者是把不在缓冲中的或者说是被释放出来的数据发送到浏览器。所以当缓冲存在的时候,我们必须ob_flush()flush()同时使用。正确使用的顺序是:先用ob_flush(),后用flush()

str_repeat — 重复一个字符串

说明

string str_repeat ( string $input , int $multiplier )

返回 input 重复 multiplier 次后的结果。

<?php
  echo str_repeat('哈哈哈哈哈哈' ,1000);
  for($i=0;$i<3;$i++) {
    ob_flush();
    flush();
    sleep(3);
  }
?>