HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

[PHP] Нересурсоёмкая множественная запись текста в файл
  #1  
Старый 30.03.2010, 09:19
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
Провел на форуме:
140661

Репутация: 313
По умолчанию [PHP] Нересурсоёмкая множественная запись текста в файл

Здравствуйте. Есть у меня код который должен выполнять ~1500 "лёгковесных" (для железа) операций. Запускается он на очень слабом компьютере - 250 МГц, 128Mb RAM. Для большего контроля над его выполнением мне захотелось сделать логирование - после каждой операции заносить сообщение с некоторой информацией в лог-файл. Причём нельзя сделать так, чтоб лог открывать в начале работы и сохранять только в конце. Нужно сохранять изменения именно после прохождения каждой операции, что в случае сбоя сервера я смог увидеть на каком именно шаге была остановлена работа. Получается что за всю работу скрипта, должно быть выполнено ~1500 отдельных записей в лог.
Как это лучше делать не таком железе? Через file_put_contents или fopen/fwrite/fclose? Может вообще переложить это на ОС выполняя каждый раз
Цитата:
echo "информация" >> path/to/log.txt
? Или, быть может, есть ещё какие-то варианты?
 
Ответить с цитированием

  #2  
Старый 30.03.2010, 11:49
ZagZag
Участник форума
Регистрация: 22.02.2007
Сообщений: 213
Провел на форуме:
388345

Репутация: 58
По умолчанию

Еще несколько вариантов:
1. Использовать для хранения логов какую-нибудь легковесную БД
2. Использовать временное хранение логов в памяти и сохранять в лог каждую минуту (или чаще)
3. Бредовый вариант: сохранять каждую запись в отдельный файл и папку названную по времени
 
Ответить с цитированием

  #3  
Старый 30.03.2010, 11:57
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Я щитаю, fwrite из предложенного буде самым то
Цитата:
Сообщение от ZagZag  
Еще несколько вариантов:
1. Использовать для хранения логов какую-нибудь легковесную БД
2. Использовать временное хранение логов в памяти и сохранять в лог каждую минуту (или чаще)
3. Бредовый вариант: сохранять каждую запись в отдельный файл и папку названную по времени

1, Я не думаю, что БД на таком железе будет лучшим вариантом
2. Вариант окейный - аля кеширование - но тСу надо за всеми изменениями следить - останвока сервака может и не попасть точно в минуту
3. Вообще бред, так мучать старушку-комп, полторы тысячи файлов - это круто
 
Ответить с цитированием

  #4  
Старый 30.03.2010, 12:16
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
Провел на форуме:
140661

Репутация: 313
По умолчанию

ZagZag, спасибо, но:
1. Как сказал wildshaman, БД на таком железе не лучший вариант. Всётаки мне кажется что помещение записи даже в SQLite будет медленнее чем тоже самое но в текстовый файл.
2. Здесь тоже сокласен с wildshaman.
3. А зачем такие сложности? Мне кажется это ничего не даст.
 
Ответить с цитированием

  #5  
Старый 30.03.2010, 15:11
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Kuzya Если требуется просто добавление строки в конец файла - то не принципиально какой вариант вы выберете.

Цитата:
Причём нельзя сделать так, чтоб лог открывать в начале работы и сохранять только в конце.
И не надо, для сброса кэшированных данных на диск существует fflush();
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[HTML, Css] - Задай вопрос, получи ответ Isis PHP 1493 14.06.2010 22:54
Небольшой F.A.Q по BAT/CMD OneSelf Windows 12 03.03.2010 20:55
МикроДжоинер для начинающих ReanimatoR Статьи 23 02.01.2010 15:07
Фейки dgonik777 Уязвимости Mail-сервис 34 14.06.2009 04:01



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ