我有一个包含以下列的csv文件:
日期,时间,信息1,信息2,信息3,信息4,信息5,
文件可以是1000行或只有3行。每隔15秒,使用上面的列创建一个新行。但只有在开启时才会出现。
用户应将csv文件修剪为他从日历或下拉框中选择的特定开始和结束日期/时间。让我们从2016年3月3日10:00到2016年5月7日17:30说。
是否可以使用csv文件? 我知道你可以用fgetcsv,fopen和fwrite读写csv。 但是如何在日期范围内获得特定的行...我不知道。
有人能指出我正确的方向吗? 任何帮助或建议表示赞赏: - )
答案 0 :(得分:0)
<?php
$file = '/path/to/file/csv';
$separator = ';';
$length = 2048;
$newFile = [];
$i = 0;
if(($handle = fopen($file, 'r')) !== false){
while(($data = fgetcsv($handle, $length, $separator)) !== false) {
if($i == 0){
$newFile[] = implode($separator, $data);
$i++;
}else{
$fileDate = $data[0].' '.$data[1];
if(check_in_range('03-03-2016 10:00:00', '07-05-2016 17:30', $fileDate)){
$newFile[] = implode($separator, $data);
}
}
}
}
$newCsvFileData = implode(PHP_EOL, $newFile);
?>
函数check_in_rage()来自@ConroyP发布的How to check if a date is in a given range?