我正在尝试从文本文件中获取一些计划时间并显示它们。我在下面的代码中做了那一部分。但我真正需要做的,而不是一直显示,是将文本文件中的行与当前时间进行比较,只显示下一个预定时间。我不太确定如何做到这一部分。
我想我必须将每一行从字符串转换为时间,然后将它们与当前时间进行比较,并在当前时间之后显示下一行。我不知道该怎么做。任何帮助将不胜感激。
<?php
$file_handle = fopen("schedule.txt", "rb");
date_default_timezone_set('America/Denver');
$currenttime = date('H:i:s');
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$parts = explode('=', $line_of_text);
print $parts[0] . $parts[1]. "<BR>";
}
fclose($file_handle);
?>
<p>The current time is:</p>
<?php
print $currenttime;
?>
答案 0 :(得分:0)
由于文本文件很简单:10:00 14:00 16:00 20:00 你应该在explore()函数中使用''(space)而不是'='。
答案 1 :(得分:0)
$lines = file('schedule.txt', FILE_IGNORE_NEW_LINES);
//sort($lines);//sort $lines if not already sorted
date_default_timezone_set('America/Denver');
$currenttime = date('H:i:s');
$line = current($lines);
while($line !== false && $line < $currenttime) {
$line = next($lines);
}
if($line > $currenttime) {
echo $line;
} else {
echo 'no next one found';
}