Я хочу сделать так, чтобы скрипт на сервере читал текстовый файл, сортировал его, а затем выводил его в объект javascript (возможно, через JSON). Данный текстовый файл выглядит примерно так:
13/09/2009,17/09/2009,Arbitrary dates
14/09/2009,18/09/2009,Some random comment
14/09/2010,18/12/2010,A comment to the dates
14/09/2010,18/09/2010,A subset of another date
14/09/2001,18/09/2002,The oldest date
PHP для обработки чтения файлов выглядит так:
function loadDates()
{
$dateFile = fopen("dates.txt", "rt");
$dates = array();
if($dateFile)
{
flock($dateFile,LOCK_SH);
$i = 0;
while(!feof($dateFile))
{
$text = fgets($dateFile);
if($text !== FALSE)
{
$i++;
$arr = explode(",",$text,3);
//actual storage
$dates[$i]['start'] = strtotime($arr[0]);
$dates[$i]['end'] = strtotime($arr[1]);
$dates[$i]['comment'] = $arr[2];
}
}
fclose($dateFile);
//sort by start date, then by end date
foreach($dates as $key => $item)
{
$start[$key] = $item['start'];
$end[$key] = $item['end'];
}
array_multisort($start, SORT_ASC, $end, SORT_ASC, $dates);
return $dates;
}
else
{
return FALSE;
}
}
Тем не менее, в нем хранятся метки времени Unix в начальной и конечной датах. Я бы использовал класс DateTime
, но в настоящее время я ограничен PHP 4.4. В идеале я хотел бы хранить даты в формате, который:
- Можно сравнить численно
- Удобен для чтения человеком (позволяет редактировать
dates.txt
)
- последовательно отформатированы (т.е. "01-01-1900" преобразуется в "01/01/1900")
- Может быть преобразован в объект даты типа JavaScript
Как мне сохранить даты, чтобы они утратили эти ограничения?