php定时任务

php定时任务实现起来没有js那么方便,因为并没有直接的定时函数,所以php定时任务还需要用到几个函数,也就是在浏览器关闭后程序脚本继续运行、循环执行等。

下面简单实现php定时任务

<?php
/*
 * php定时任务
 * 几个方法
 */
//control.php文件
/*
 *这里来获取用户输入的终止指令
 * 通过获取到的数据进行控制定时任务
 */
function getInput()
{
    $res = '';
    if (isset($_POST['action']) && $_POST['action']=='0'){
        $res = 0;
    }else{
        $res = 1;
    }
    return $res;
}
getInput();
//control.php结束

ignore_user_abort();//当浏览器被关闭了,php脚本继续执行
set_time_limit(0);// 设置php无休止地执行
$go=60*30;// 半小时执行一次
do{
    $run = include 'control.php';
    if(!$run){
        exit('process stop!');
    }
    //todo what you want to do here
    sleep($go);// 等代一会再执行
}
while(true);

//②
/*
 * 更简单的
 *
 */
$time=15;
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$run = include 'control.php';
if (!$run){
    exit('process stop!');
}
//todo what you want to do here?
sleep($time);
file_get_contents($url);

//③利用服务器定时执行
//最好用curl操作
//记得给脚本权限

评论/留言