Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Хелп! Проблемка возникла... (http://www.flasher.ru/forum/showthread.php?t=25630)

Den88 11.01.2002 11:45

Хелп! Проблемка возникла...
 
Поможите люди добрые.
Есть у меня текстовый файлик, состоящий из 10 строк. На восьмой строчке сначала стоит нолик. В другом файле есть скрипт и форма, при заполнении которой (формы) в текстовом файле к цифре на восьмой строчке нужно прибавлять еденицу. И так каждый раз, когда нажимают Submit. Никто не подскажет как это воплотить в жизнь? :confused:

Crazy 11.01.2002 16:00

"Тупая" реализация:

1. Функцией file() читаешь файл в массив.
2. Извлекаешь старый счетчик, инкрементируешь и ставишь обратно в массив.
3. Перезаписываешь файл данными из массива.

Минусы: будут теряться тики счетчика, если два пользователя практически одновременно нажмут SUBMIT. Оцени, важно ли это для тебя.

DeepDiver 13.01.2002 12:19

Если важно, то мона на файл во время чтения/записи lock положить

Crazy 13.01.2002 15:17

Цитата:

Оригинал написал(а) 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

ГЫ... Что-то я об этом не подумал....

sapenov 23.01.2002 08:22

Создай директорию /stats и там создавай пустой файл после каждой удачной регистрации. Потом подсчитывай кол-во файлов и заноси куда нужно - в файл или в базу.
Раз в день(неделю , месяц) чисти директорию.

Таким образом можно решить проблему с одновременным доступом к одному файлу(записи в БД).

Удачи.

Demon1983 23.01.2002 09:35

А в принципе....
 
А в принципе, если число в счетчике - это количество зарегистрировавшихся людей, то я вообще не вижу смысла в этом счетчике....
Число записей в базе данных и будет нужным тебе числом....

sapenov 23.01.2002 09:39

верно товарищ сказал :)

Постановку задачи надо максимально четко определять,
а то мы тут гадаем на кофейной гуще :)


Часовой пояс GMT +4, время: 00:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.