我正在寻找一种方法,让我的网站有一个频率检查时间,当时间是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>