频率检查时间

时间:2014-11-11 07:28:49

标签: php

我正在寻找一种方法来对我的网站进行频率检查,并且当时间是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>';
    }
}
?>

1 个答案:

答案 0 :(得分:0)

IIRC,PHP在脚本执行时间上有30秒(默认值)的限制,之后您的脚本将被中止,因此您的代码不太可能正常工作。

即使它确实如此,你的while(1)在循环中没有延迟也是一种可怕的资源浪费。

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


[更新]对不起,我在工作&amp;无法访问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>