当我们在空中播放5a-10a M-F时,尝试编写可显示流媒体播放器的部分页面,并在我们不播出时显示其他内容。
这就是我现在所拥有的,但它不起作用。我是PHP的新手。谢谢!
<html>
<head>
<title>streaming</title>
</head>
<body>
<?php
//Get the current hour
$current_time = date(G);
//Get the current day
$current_day = date(l);
//Off air
if ($current_day == "Saturday" or $current_day == "Sunday" or ($current_time <= 5 && $current_time >= 10)) {
echo "We’re live Monday – Friday mornings. Check back then.";
}
// Display player
else {
echo "<a href="linktoplayer.html"><img src=http://www.psdgraphics.com/wp-content/uploads/2009/09/play.jpg></a>";
}
?>
</body>
</html>
答案 0 :(得分:4)
此声明将始终为FALSE:
($current_time <= 5 && $current_time >= 10)
正确:
($current_time < 5 || $current_time >= 10)
此$current_time = date(G);
和$current_day = date(l);
将输出通知:
Notice: Use of undefined constant G - assumed 'G' in ...
Notice: Use of undefined constant l - assumed 'l' in ...
正确:
$current_time = date('G');
$current_day = date('l');
此代码echo "<a href="linktoplayer.html"><img src=http://www.psdgraphics.com/wp-content/uploads/2009/09/play.jpg></a>";
也将输出PARSE ERROR:
Parse error: syntax error, unexpected 'linktoplayer' (T_STRING), expecting ',' or ';' in ...
如果您希望输出字符串,则必须使用"
转义\
:
echo "<a href=\"linktoplayer.html\"><img src=\"http://www.psdgraphics.com/wp-content/uploads/2009/09/play.jpg\"></a>";
或改为使用'
:
echo '<a href="linktoplayer.html"><img src="http://www.psdgraphics.com/wp-content/uploads/2009/09/play.jpg"></a>';
P.S。图片的src
属性必须附加""
。
答案 1 :(得分:4)
两件事:
正如已经指出的那样,你的时间逻辑是关闭的。它应该是$current_time < 5 or $current_time >= 10)
当你给日期函数提供一些东西时,它必须是一个字符串。 date(l)
会抛出错误,因为它应该是date('l')
。
修改强>
如果您真的想要对代码进行基准测试,则应使用idate
代替,因为它返回一个整数。您的比较如下:
$current_time = idate('H');
$current_day = idate('w');
if ($current_day === 0 || $current_day === 6 ||
$current_time < 5 || $current_time >= 10) {
echo "We’re live Monday – Friday mornings. Check back then.";
}
答案 2 :(得分:0)
我认为您应该更改If
语句结构,使其看起来像这样
IF (on-air)
THEN DisplayPlayer()
ELSE echo "message saying Off Air"
通过这样做,当有人在您上线时尝试访问该网站时,您可以更快地点击播放器。
这是一项优化,可以在播出时加快加载速度。如果你 off air ,它将经历两个步骤。它只取决于你想要更快的加载时间
除了@glavić在他的答案中写的内容之外,还应该使用它。