2016-12-28 4 views
0

В настоящее время я пытаюсь создать файл журнала, в котором я хочу вставить обратный хронологический стиль (самые новые элементы будут помещены поверх списка всех существующих текстов, а предыдущие существующие элементы будут помещены ниже), подумайте об этом, как в Facebook, где, если вы заходите на страницу профиля, вы можете видеть все его сообщения по последним -> старейшим, а не тем, что у меня есть, старейшим -> последним. Вот мой код до сих пор;Logfile PHP [PHP]

$date = date("d-m-Y H:i:s"); 
    $file = 'logfile.txt'; 
    if (file_exists($file)) { 
     $current = file_get_contents($file); 
     $current .= PHP_EOL.$date; 
     file_put_contents($file, $current); 
    } else { 
     file_put_contents($file, $date); 
    } 
+1

Сомневаюсь если это действительно хорошая идея ... Это предотвращает использование обычных инструментов, таких как 'tail -f' или' fail2ban' для мониторинга такого файла журнала. Вы действительно говорите о том, что обычно упоминается как «файл журнала», так что это техническая документация, или это о потоке событий, который должен быть визуализирован внутри приложения? Если последнее, то вместо этого используйте базу данных, которая позволяет вам заказывать записи по своему вкусу позже. – arkascha

+0

Могу я спросить вас, для чего предназначена эта функция? И насколько это полезно? –

+1

«Файл журнала» обычно служит для административных целей: чтобы видеть, что происходит внутри системы, или узнать, что происходит в определенный момент времени. Такое отладочное или аналитическое действие не имеет ничего общего с нормальной работой приложений или служб. Такие действия выполняются на системном уровне, используя системные инструменты. Предотвращение этого кажется менее идеальным для меня. Но, как упоминалось выше: возможно, речь идет не о том, что обычно называют «файлом журнала», а просто о потоке событий, используемом в приложении _inside_. – arkascha

ответ

0

Вы добавляете вашу строку даты конца переменной:

$current .= PHP_EOL.$date; 

Вы должны начать с новейшими и добавить старые записи после него:

$current = $date . PHP_EOL . $current; 
+0

Большое спасибо. –

Смежные вопросы