Просмотр полной версии : Хелп! Проблемка возникла...
Поможите люди добрые.
Есть у меня текстовый файлик, состоящий из 10 строк. На восьмой строчке сначала стоит нолик. В другом файле есть скрипт и форма, при заполнении которой (формы) в текстовом файле к цифре на восьмой строчке нужно прибавлять еденицу. И так каждый раз, когда нажимают Submit. Никто не подскажет как это воплотить в жизнь? :confused:
"Тупая" реализация:
1. Функцией file() читаешь файл в массив.
2. Извлекаешь старый счетчик, инкрементируешь и ставишь обратно в массив.
3. Перезаписываешь файл данными из массива.
Минусы: будут теряться тики счетчика, если два пользователя практически одновременно нажмут SUBMIT. Оцени, важно ли это для тебя.
DeepDiver
13.01.2002, 12:19
Если важно, то мона на файл во время чтения/записи lock положить
Оригинал написал(а) DeepDiver
Если важно, то мона на файл во время чтения/записи lock положить
Если ты про flock() , то: "On most operation systems flock() is implemented at the process level. When using a multithreaded server API like ISAPI you cannot rely on flock() to protect files against other PHP scripts running in parallel threads of the same server instance! " :(
DeepDiver
14.01.2002, 10:09
ГЫ... Что-то я об этом не подумал....
Создай директорию /stats и там создавай пустой файл после каждой удачной регистрации. Потом подсчитывай кол-во файлов и заноси куда нужно - в файл или в базу.
Раз в день(неделю , месяц) чисти директорию.
Таким образом можно решить проблему с одновременным доступом к одному файлу(записи в БД).
Удачи.
Demon1983
23.01.2002, 09:35
А в принципе, если число в счетчике - это количество зарегистрировавшихся людей, то я вообще не вижу смысла в этом счетчике....
Число записей в базе данных и будет нужным тебе числом....
верно товарищ сказал :)
Постановку задачи надо максимально четко определять,
а то мы тут гадаем на кофейной гуще :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.