频率检查时间


Frequency check time

我正在寻找一种方法,让我的网站有一个频率检查时间,当时间是20:00-21:00时显示流媒体频道,否则它会显示一个图像。我试过用php做这件事,但这是错误的方式,因为网站会势不可挡。

更新的

我也想每30秒做一次。

PHP

<?php
while(1){
    $now = date('G',time());
    $start = 20;
    $end = 21;
    if($now >= $start && $now <= $end){ 
        echo '<script type="text/javascript">document.getElementById("liveTV_api").style.display="block"; document.getElementById("adtv").style.display="none";</script>';
    }
    else{
        echo '<script type="text/javascript">document.getElementById("adtv").style.display="block"; document.getElementById("liveTV_api").style.display="none";</script>';
    }
}
?>

IIRC,PHP的脚本执行时间限制为30秒(默认值),之后脚本将中止,因此给定的代码极不可能工作。

即使是这样,循环中没有延迟的while(1)也是一个可怕的资源占用。

就我个人而言,如果我想这样检查时间,我会使用HTML元标记每隔一秒左右重新加载页面<meta http-equiv="refresh" content="1">,然后在PHP开始时检查时间,直到到达所需的时间为止,什么都不做。


[更新]对不起,我正在上班&无法访问PHP/HTML开发工具。我可以在大约12小时内正确编码,但同时也可以这样:

<!DOCTYPE html>
<html lang="en">
  <head>
    <?php
       if (not currently streaming video)  // coding is left as an exercise to the reader ;-)
       { 
          echo '<meta http-equiv="refresh" content="1">';
       }
    ?>

  </head>
  <body>
      <?php
    $now = date('G',time());
    $start = 20;
    $end = 21;
    if($now >= $start && $now <= $end){ 
        echo '<script type="text/javascript">document.getElementById("liveTV_api").style.display="block"; document.getElementById("adtv").style.display="none";</script>';
       // CodeMe: indicate that the video is streaming (left to you to decide how)
    }
    else{
        echo '<script type="text/javascript">document.getElementById("adtv").style.display="block"; document.getElementById("liveTV_api").style.display="none";</script>';
    }
    ?>  
</body>