首先,我不是php的专家。
我有一个网址重定向脚本。 它的工作原理是从.txt数据库中获取链接 我想根据时间选择数据库。 例如,从早上6点到下午1:59运行“db1.txt” 并从下午2点到5点59分运行“db2.txt”。
重定向脚本具有以下行来处理数据库。
$db = 'db.txt';
以下没有用
$time = date("H:i", strtotime("$time"));
echo $time;
if ($time >= 6 && $hour <= 14)
{
$db = db1.txt;
}
else
{
$db = db2.txt;}
答案 0 :(得分:1)
由于您只检查:i
内date()
所需的小时数。查看Docs以查找所有date()
参数。
此外,您会在$db = db1.txt;
和$db = db2.txt;
收到语法错误,因为您缺少引号。
strtotime("$time")
对我来说不对劲。我想你想要使用time()
更改代码如下:
$time = date("H", time());
echo $time;
if ($time >= 6 && $time <= 14)
{
$db = 'db1.txt';
}
else
{
$db = 'db2.txt';
}
答案 1 :(得分:1)
如果您只是使用时间,您可以使用三元运算符在一行中轻松定义文件!
如果您当前的服务器时间可以:
$db = (date('H') >= 6 && date('H') < 14) ? 'db1.txt' : 'db2.txt';
或者,如果您可以定义时间:
$defineDate = date('H', strtotime($myTime));
$db = ($defineDate >= 6 && defineDate < 14) ? 'db1.txt' : 'db2.txt';
不要忘记使用正确条件:
($defineDate >= 6 && defineDate < 14) // To 6 to 13:59:59
($defineDate >= 6 && defineDate <= 14) // To 6 to 14:00:00
官方PHP文档: - PHP Date function - PHP Strtotime function - PHP Ternary operator