| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Работа с файлами |
| Автор: Sardar 1.2.2003, 00:36 |
| Есть скрипт который пишет несколько строк в файл. Этот скрипт запрашивается несколькими пользователями одновременно. Следит ли php за обращениями к файлу или кто успел тот и записал. То есть что бы не получить что-то подобное: Привет отПривет меняот соседа Есть скрипт который читает из файла и скрипт который что-то туда пишет. Вызываются одновременно. Есть ли гарантия, что пока первый скрипт не закроет файл никто не сможет туда что-нибудь записать. То есть хочу прочесть: Привет всем, а читаю: Чужая лажа... Я думаю с этим сталкивался каждый. |
| Автор: Cepera 1.2.2003, 01:06 |
| конечно, такое возможно... используй функцию flock для блокировки одновременной работы с файлом |
| Автор: Sardar 14.2.2003, 21:36 | ||
Ничего не работает
Но хочется проще... Прежде чем сюда писать, пересмотрел всю инфу которую смог найти: оказывается flock не работает на "устаревших" файловыx системах. А уменя Win98 Что делать, если хочется что бы было быстро, надежно и не глючило? |
| Автор: dvl 16.2.2003, 05:04 |
| использовать довольно распространенный хинт - lock-file скрипт перед записью в файл смотрит есть ли lock-file, если нет - создает его, и пишет в целевой файл, после чего удаляет lock-file. Если lock-file есть - он тусуется некорое время(1 сек должно хватить) и снова смотрит ... для читателя файла в этом наверно нет необходимости Конечно надо добавить проверки что lock-file не забыли удалить и т.д. если весь этот процесс засунуть в одну ф-ию wrapper - чтобы ее пользовали все ф-ии писатели , может получиться очень удобно |