在特定时间之间重定向到HTML页面的脚本

时间:2015-09-18 17:18:00

标签: java php html datetime

我遇到以下问题:我在joomla cms上有一个自定义的html / php加载程序,用于加载包含特定信息的页面。此信息每天更新4次,当地时间02:00 08:00 14:00和20:00。我创建了4个页面(每次续订1个),以便人们可以比较(通过框架)。

现在我想做的是创建一个html或php(如果需要,带有java)页面,根据页面打开的时间重定向到这四个特定页面之一。

如果时间是在02:00到08:00之间,那么它应该打开" 00.html"

如果时间在08:00到14:00之间,则应该打开" 06.html"

如果时间在14:00到20:00之间,则应该打开" 12.html"

如果时间在20:00到02:00之间,那么它应该打开" 18.html"

那些html文件是框架,其中一个框架包含一个名为' mainmenu'的可用信息菜单,一个框架包含通过名为“showmodel”的菜单中的所选信息。和框架,如果需要选择00/06/12/18页面。但我很乐意访问者在打开主页时获取最新信息......日期并不重要。只有时间才重要。

3 个答案:

答案 0 :(得分:1)

此示例必须为您提供帮助:)

    <?php
    $hours = date("H"); // 00 - 23

    if (($hours >= 2) && ($hours <= 8)) {
        header('location: 00.html');
    }

    ?>

答案 1 :(得分:1)

由于您有一段时间可以执行特定的重定向,因此您可以使用switch语句使其几乎完全符合您的要求。 switch语句将检查您的值,然后找到符合条件并执行该代码的“case”。

http://php.net/manual/en/control-structures.switch.php

请记住,在进行重定向时,无法进行其他输出。

$hour = (int)date('H');
switch ($hour) {
    case ($hour >= 0 && $hour <= 2):
        header('location: 18.html');
        break;
    case ($hour > 2 && $hour <= 8):
        header('location: 00.html');
        break;
    case ($hour > 8 && $hour <= 14):
        header('location: 06.html');
        break;
    case ($hour > 14 && $hour <= 20):
        header('location: 12.html');
        break;
    case ($hour > 20):
        header('location: 18.html');
        break;
    default:
        header('location: default.html');
        break;
}
exit;

重定向文档:http://php.net/manual/en/function.header.php

答案 2 :(得分:1)

没有经过测试,并且没有确切地提出要求,但我认为这样的事情应该起作用

$hour= date("H");
header('location: '.$hour.'.html');

只是想指出你可以在header中使用变量。 它使得稍后设置条件可能更灵活。