我刚刚编写完脚本,根据时间更改图像。除非它显示错误的图像,否则一切都很好。
<?php
date_default_timezone_set('America/Los_Angeles');
$w = date('W'); # week
$d = date('N'); # day
$t = date('G'); # time
dealWithTime($d);
function dealWithTime($day) {
if ($w == 13) { # Week 13
if ($day == 1) {
# Monday
if ($t >= 0 && $t < 6) {
printImage('XD_Holo.png');
} else if ($t >= 6 && $t < 10) {
printImage('Midtown.png');
} else if ($t >= 10 && $t < 14) {
printImage('Terminal.png');
} else if ($t >= 14 && $t < 18) {
printImage('XD_Holo.png');
} else if ($t >= 18) {
printImage('Midtown.png');
}
} else if ($day == 2) {
# Tuesday
if ($t >= 0 && $t < 6) {
printImage('XD_Holo.png');
} else if ($t >= 6 && $t < 10) {
printImage('Midtown.png');
} else if ($t >= 10 && $t < 14) {
printImage('Terminal.png');
} else if ($t >= 14 && $t < 18) {
printImage('XD_Holo.png');
} else if ($t >= 18) {
printImage('Midtown.png');
}
} else if ($day == 3) {
# Wednesday
if ($t >= 0 && $t < 6) {
printImage('XD_Holo.png');
} else if ($t >= 6 && $t < 10) {
printImage('Midtown.png');
} else if ($t >= 10 && $t < 14) {
printImage('Terminal.png');
} else if ($t >= 14 && $t < 18) {
printImage('XD_Holo.png');
} else if ($t >= 18) {
printImage('Midtown.png');
}
} else if ($day == 4) {
# Thursday
if ($t >= 0 && $t < 6) {
printImage('XD_Holo.png');
} else if ($t >= 6 && $t < 10) {
printImage('Midtown.png');
} else if ($t >= 10 && $t < 14) {
printImage('Terminal.png');
} else if ($t >= 14 && $t < 18) {
printImage('XD_Holo.png');
} else if ($t >= 18) {
printImage('Midtown.png');
}
} else if ($day == 5) {
# Friday
if ($t >= 2 && $t < 8) {
printImage('Midtown.png');
} else if ($t >= 8 && $t < 12) {
printImage('Terminal.png');
} else if ($t >= 12 && $t < 16) {
printImage('XD_Holo.png');
} else if ($t >= 16 && $t < 20) {
printImage('Midtown.png');
} else if ($t >= 20) {
printImage('Terminal.png'); // SHOULD BE THIS ONE
}
} else if ($day == 6) {
# Saturday
if ($t >= 0 && $t < 6) {
printImage('XD_Holo.png');
} else if ($t >= 6 && $t < 10) {
printImage('Midtown.png');
} else if ($t >= 10 && $t < 14) {
printImage('Terminal.png');
} else if ($t >= 14 && $t < 18) {
printImage('XD_Holo.png');
} else if ($t >= 18 && $t < 22) {
printImage('Midtown.png');
} else if($t >= 22) {
printImage('Terminal.png');
}
} else if ($day == 7) {
# Sunday
if ($t >= 2 && $t < 8) {
printImage('XD_Holo.png');
} else if ($t >= 8 && $t < 12) {
printImage('Midtown.png');
} else if ($t >= 12 && $t < 16) {
printImage('Terminal.png');
} else if ($t >= 16 && $t < 20) {
printImage('XD_Holo.png');
} else if ($t >= 20) {
printImage('Midtown.png');
}
}
} else if ($w == 14) { # Week 14
if ($day == 1) {
# Monday
if ($t >= 0 && $t < 6) {
printImage('Terminal.png');
} else if ($t >= 6 && $t < 10) {
printImage('XD_Holo.png');
} else if ($t >= 10 && $t < 14) {
printImage('Midtown.png');
} else if ($t >= 14 && $t < 18) {
printImage('Terminal.png');
} else if ($t >= 18 && $t < 22) {
printImage('XD_Holo.png');
} else if ($t >= 22) {
printImage('Midtown.png');
}
} else if ($day == 2) {
# Tuesday
if ($t >= 2 && $t < 8) {
printImage('Terminal.png');
} else if ($t >= 6 && $t < 10) {
printImage('XD_Holo.png');
} else if ($t >= 10 && $t < 14) {
printImage('Midtown.png');
} else if ($t >= 14 && $t < 18) {
printImage('Terminal.png');
} else if ($t >= 18) {
printImage('XD_Holo.png');
}
} else if ($day == 3) {
# Wednesday
if ($t >= 0 && $t < 6) {
printImage('fin.png');
} else if ($t >= 6 && $t < 10) {
printImage('fin.png');
} else if ($t >= 10 && $t < 14) {
printImage('fin.png');
} else if ($t >= 14 && $t < 18) {
printImage('fin.png');
} else if ($t >= 18) {
printImage('fin.png');
}
} else if ($day == 4) {
# Thursday
if ($t >= 0 && $t < 6) {
printImage('fin.png');
} else if ($t >= 6 && $t < 10) {
printImage('fin.png');
} else if ($t >= 10 && $t < 14) {
printImage('fin.png');
} else if ($t >= 14 && $t < 18) {
printImage('fin.png');
} else if ($t >= 18) {
printImage('fin.png');
}
} else if ($day == 5) {
# Friday
if ($t >= 0 && $t < 6) {
printImage('fin.png');
} else if ($t >= 6 && $t < 10) {
printImage('fin.png');
} else if ($t >= 10 && $t < 14) {
printImage('fin.png');
} else if ($t >= 14 && $t < 18) {
printImage('fin.png');
} else if ($t >= 18) {
printImage('fin.png');
}
} else if ($day == 6) {
# Saturday
if ($t >= 0 && $t < 6) {
printImage('fin.png');
} else if ($t >= 6 && $t < 10) {
printImage('fin.png');
} else if ($t >= 10 && $t < 14) {
printImage('fin.png');
} else if ($t >= 14 && $t < 18) {
printImage('fin.png');
} else if ($t >= 18) {
printImage('fin.png');
}
} else if ($day == 7) {
# Sunday
if ($t >= 0 && $t < 6) {
printImage('fin.png');
} else if ($t >= 6 && $t < 10) {
printImage('fin.png');
} else if ($t >= 10 && $t < 14) {
printImage('fin.png');
} else if ($t >= 14 && $t < 18) {
printImage('fin.png');
} else if ($t >= 18) {
printImage('fin.png');
}
}
} else { # else
printImage('fin.png');
}
}
function printImage($im) {
$file = $im;
$type = 'image/png';
header('Content-Type:'.$type);
header('Content-Length: ' . filesize($file));
readfile($file);
}
?>
当你向下滚动时,你应该看到一条评论,说明应该是什么形象(截至本文)。
我还写了另一个脚本,看看是不是时间错了,但它给了我正确的结果。
<?php
date_default_timezone_set('America/Los_Angeles');
$w = date('W'); # week
$d = date('N'); # day
$t = date('G'); # time
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h2>Week:</h2>
<span><?php echo $w; ?></span>
<h2>Day:</h2>
<span><?php echo $d; ?></span>
<h2>Time:</h2>
<span><?php echo $t; ?></span>
</body>
</html>
第一个脚本可以在这里看到:http://spedwards.cz.cc/event/e.php
第二个是:http://spedwards.cz.cc/event/t.php
我不会更改这些文件,因此他们将至少与该问题保持一个月的相关性。
有人可以向我解释为什么没有显示正确的图片吗?所有4张图片都在同一目录中。
答案 0 :(得分:1)
您没有将变量传递给函数调用。
例如:
dealWithTime($w, $d, $t);
function dealWithTime($w, $day, $t) {
答案 1 :(得分:-1)
日期格式函数的返回值是字符串,您试图将它们评估为整数。
在评估之前,您应该使用(int) $d
将变量转换为int。