За последние 24 часа нас посетили 34295 программистов и 1709 роботов. Сейчас ищут 806 программистов ...

Единовременное сохранение и чтение файла

Тема в разделе "Прочие вопросы по PHP", создана пользователем zorba-buddha, 30 мар 2008.

  1. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    Допустим у меня есть XML файл с комментариями к посту.
    Пользователь пишет комментарий и отправляет данные, скрипт хватает данные, читает XML, дополняет его и сохраняет в тот же файл новые данные XML.
    Вопрос: что произойдёт в тот момент, когда скрипт пишет в файл, а в это же время другой скрипт пытается его прочитать?
    Собственно, данный вопрос относится, судя по всему, к последовательности выполнения операций сервером.
    Возможно ли такое, что второй скрипт начнёт чтение файла до того, как первый закончит запись? Если да - что будет в этом случае?
    Что произойдёт если в момент записи файла придёт HTTP запрос на его чтение? Дождётся ли сервер окончания записи и получит его полностью или закончит потом, как только встретит окончание данных?
     
  2. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    zorba-buddha
    Хорошие вопросы, чувствуется грамотный подход. Советую почитать как устроен Subversion, думаю там можно будет найти все ответы
     
  3. Anonymous

    Anonymous Guest

    Читать про flock ответит не только на "как работает" но и "как решить" :)
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    вопросы реализации... я бы делал уж точно без flock
     
  5. Anonymous

    Anonymous Guest

    topas, потому что реляционные данные нужно хранить в реляционной БД )
     
  6. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    это зависит от того, что вы патаетесь сделать.
    везде есть свою нюансы.
    лепра, как и дёрти, тормозит ужасно, когда много народу сидит, а постов и комментов там дай бог - не хочу попасть в такую ситуацию.

    кстати, надо будет ещё подумать как рейтинги для постов и комментов делать (((
     
  7. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    что-то не могу найти информацию о том, что файл запирается на чтение и устанавливается в ожидание - то, что мне, собственно, надо.
    всётаки непонятно - как происходят эти действия?
     
  8. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    topas
    спасибо, пошёл изучать.
     
  9. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    При большом количестве обращений файл слетит.

    Не попадёшь. Дёрти куча лет и раньше он был звиздец какой популярный. Твой хомпейдж никому нужен не будет. Так что, не волнуйся по этому поводу.
     
  10. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Ну зачем же так, мы же все когда-ть чем-ть занимаемся, не будьте столь строги.

    zorba-buddha
    Пожалуйста, не забудьте поделиться успехами, и, желательно, кодом :)
     
  11. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    lexa я таких педантов как вы уже много слышал и если бы вы хоть чего-нибудь добивались бы - так нет, только учить лезите.
     
  12. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    topas
    сообщество будет опенсурсным проектом.
     
  13. creage

    creage Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    а можно поинтересоваться почему вы выбрали хранение в файле, когда можно хранить в БД? аппенд к файлу с большим количеством комментов - страшно думать о нагрузках во время обработки)
     
  14. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    creage
    branch версию файла можно хранить в файловой системе, работать с копией, все trunk в БД :)
     
  15. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    zorba-buddha
    Советую глянуть еще diffutils, поможет отслеживать изменения в файле и выполнять слияние
     
  16. Anonymous

    Anonymous Guest

  17. zorba-buddha

    zorba-buddha Активный пользователь

    С нами с:
    28 мар 2008
    Сообщения:
    42
    Симпатии:
    0
    Адрес:
    Подольск
    topas
    я ещё ничего не выбрал, а всего лишь обдумываю варианты.
    на практике пробую, эксперементирую.

    Горбунов Олег
    помоему вы не туда пишите, про мюскл был другой пост )))
     
  18. Anonymous

    Anonymous Guest

    zorba-buddha, во блин. Вообще запутался %)
     
  19. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    в двух словах: какие плюсы в этом "на"
     
  20. Anonymous

    Anonymous Guest

    нативное решение
     
  21. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    в каком смысле применяется слово native: абориген, автохтон, туземец, уроженец, негр, черный, родной, исконно присущий, природный, прирожденный, врожденный, аборигенный, материнский, встречающийся в природе, не искусственный, чистый, не приукрашенный, простой?
     
  22. Anonymous

    Anonymous Guest

    В смысле: изначально приспособленное. Да, родное.
     
  23. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Когда это глупое перестало быть смешным? :) Мы все человеки, все порой пишем глупости, но это не значит, что их нужно игнорировать.

    Одно слово: реализм. Это не фи в ствою сторону, а адекватная реакция на сравнение фиг чего в состоянии зародыша с популярным ресурсом, которому много лет.

    Может я lexa exler, создатель порталов и книжек писатель? И ща как забаню тебя.
     
  24. Anonymous

    Anonymous Guest

    Правильно писать - зОбаню!
     
  25. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Горбунов Олег, и тебя зобаню!!!111