Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Организация логов на текстовых файлах
Форумы портала PHP.SU » » Вопросы новичков » Организация логов на текстовых файлах

Страниц (1): [1]
 

1. mindinbox - 11 Октября, 2011 - 21:19:46 - перейти к сообщению
Подскажите, пожалуйста, в какую сторону мне копать... Нужна подсказка...
Дело обстоит так: емеется файл, в который постоянно поступают сообщения, он называется к примеру, text_11-10-2011.txt. Так вот, нужно сделать так, что бы по истечению суток, то есть в 00:00, автоматически создавался файл text_12-10-2011.txt и сообщения послупали уже в непосредственно в него.

У меня есть несколько мыслей по этому поводу, но так как я еще не нестолько силен в php, я не могу быть уверенным в их правильности, поэтому прошу подсказки.

Есть какая-то исходная величина даты, константа, от которой ведется отсчет суток в цикле... цикл прогоняется каждый раз когда в файл поступает сообщение... в цикле имеется условие, говорящее, что если дата сообщения отклонилась от исходной величины на 24 часа, тогда создавать файл с таким-то именем (исходная величина +1) и эта новая величина (исходная + 1) становится той самой исходной... Примерно так я это представляю, может быть правильно, может быть нет, но как это реализовать я еще думаю...
2. Мелкий - 11 Октября, 2011 - 21:38:13 - перейти к сообщению
Демон пишет, что ль?
Перед записью проверяете, равна ли date('d-m-Y') с предыдущего запуска функции имеющейся сейчас.

А если запись в варианте плюнул и забыл - то сразу file_put_contents('text_'.date('d-m-Y').'txt', $content, FILE_APPEND);
3. snikers987 - 11 Октября, 2011 - 21:39:35 - перейти к сообщению
Вешай скрипт создание файла на cron , потом проверяй существование файла и и записывай.

PHP:
скопировать код в буфер обмена
  1.  
  2. // скрипт записи логов
  3. $filename = "/path/to/text_".date(d_m_Y).".txt";
  4. if(!file_exits($filename))
  5. {
  6. //если файла нет создай его
  7. }else{
  8. // если есть пиши в него логи
  9. }
  10.  
4. mindinbox - 11 Октября, 2011 - 22:25:43 - перейти к сообщению
Наверное, так и сделаю, если ничего дельного больше в голову не прийдет...
Благодарю вас за подсказки, действительно дельные советы..

отдельнео спасибо за "/path/to/text_".date(d_m_Y).".txt"; в жизни бы не догадался...

 

Powered by ExBB FM 1.0 RC1