0

テキストファイルからスケジュール時間を取得して表示しようとしています。以下のコードで行ったその部分。しかし、すべての時刻を表示するのではなく、テキスト ファイル内の行を現在の時刻と比較して、次に予定されている時刻のみを表示する必要があります。その部分をどのように行うかはよくわかりません。

各行を文字列から時間に変換し、それらを現在の時間と比較して、現在の時間の次の行だけを表示する必要があると思います。どうすればいいのかわかりません。どんな助けでも大歓迎です。

<?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;    
?>
4

2 に答える 2

0

テキスト ファイルは単純なので: 10:00 14:00 16:00 20:00 explore() 関数では、'=' の代わりに ' ' (スペース) を使用する必要があります。

于 2013-05-06T19:05:19.227 に答える
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';
}
于 2013-05-06T19:23:24.203 に答える