0

代码的(部分)旧版本如下所示:

$oMainsite->checktime(); // In the main program

public function checktime(){
    $timeset = $_SESSION['timeset'];

    if ($_SESSION['timeset'] == ''){
        $_SESSION['timeset'] = date('H:i', strtotime("+5   min"));
    } else { 
        $timeset = $_SESSION['timeset'];
    }

    $arr_tijd = getdate();
    $uren = $arr_tijd["hours"];

    if ($uren < 10){
        $uren = 0; $uren .= $arr_tijd["hours"];
    }

    $minuten .= $arr_tijd["minutes"];

    if ($minuten < 10){
        $minuten = 0; $minuten .= $arr_tijd["minutes"];
    }

    $tijd = $uren;
    $tijd .= ":";
    $tijd .= $minuten;

    if($timeset <= $tijd){
        generate_question();
    }
}

部分函数 generate question() 如下所示:

........
$timedelay = rand(3,10);  
$_SESSION['timeset'] = date('H:i', strtotime("+".$timedelay." min"));
.........
// Display question

在主程序中,函数 checktime() 仅在页面刷新时执行。但是,如果没有用户输入,站点将保持空闲状态,这解决了 checktime() 和“Generate_question()”函数永远不会执行的事实。

即使站点空闲,有没有办法执行 Checktime() ?还是我必须以不同的方式处理这个问题?

4

2 回答 2

0

即使站点空闲,有没有办法执行 Checktime() ?还是我必须以不同的方式处理这个问题?

是的,这有众所周知的技术。评论中的 Mike 建议您使用cron 作业。他应该将其发布为答案,因为该链接比我的帖子提供的信息更多。

在 Linux/BSD 上,cron 是一个以预定义的时间间隔运行的程序,您可以指定一个任务每年运行一次,每分钟运行一次,或者每 4 小时在星期四运行一次,等等......

在 Windows 系统上,您可能会将其作为计划任务进行控制,但我不是 Windows 服务器方面的专家。

在大型机上,您要么知道自己在做什么,要么甚至不应该碰那个系统。

于 2013-11-07T13:32:40.150 回答
0

如果你把它写在论坛上会多么简单:-)

要使页面重新加载或刷新,我们必须在 head 标签内使用以下代码

<meta http-equiv="refresh" content="5" >

属性 http-equiv="refresh" 要求刷新页面。

属性 content="5" 设置刷新时间。

使用 content 属性设置页面必须重新加载的时间。假设您希望页面在 10 秒间隔后刷新,请将内容值设置为 10。

我们建议刷新时间[重新加载间隔]在 5 秒以上。这是因为您必须考虑页面加载时间。

谢谢大家的贡献。

于 2013-11-11T10:18:59.260 回答