旧版本的代码(部分)如下所示:
$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() 即使站点处于空闲状态?还是我必须以不同的方式处理这个问题?
如果你把它写在论坛上,它会多么简单:-)
要使页面重新加载或刷新自身,我们必须在 head 标签中使用以下代码
<meta http-equiv="refresh" content="5" >
属性 http-equiv="refresh" 要求刷新页面。
属性 content="5" 设置刷新时间。
页面必须重新加载的时间是使用 content 属性设置的。假设您希望页面在 10 秒间隔后刷新,请将内容值设置为 10。
我们建议刷新时间 [重新加载间隔] 超过 5 秒。这是因为您必须考虑页面加载时间。
谢谢大家的贡献。
有没有办法执行 Checktime() 即使站点处于空闲状态?还是我必须以不同的方式处理这个问题?
是的,有众所周知的技术。评论中的迈克建议你使用 cron 作业。他应该将其作为答案发布,因为该链接比我的帖子信息量更大。
在 Linux/BSD cron 上是一个以预定义间隔运行的程序,您可以指定一个任务每年运行一次,每分钟运行一次,或者每 4 小时在星期四运行一次,等等......
在Windows系统上,您可能会将其作为计划任务进行控制,但我不是Windows服务器的专家。
在大型机上,您要么知道自己在做什么,要么甚至不应该接触该系统。