Недавно я сделал программу PHP для подсчета количества пользователей в сети, используя созданную мной программу. Вот как это работает:PHP делает пустой файл, когда я пытаюсь увеличить свою переменную?
- Клиент посылает запрос на сервер регистра (registerMember.php)
- сервер проверяет, является ли пользователь уже в сети
- Если пользователь уже не в Интернете, увеличивает число в файл
- Написать имя лиц в текстовый файл
Моя проблема заключается в том, что многие люди будут регистрироваться в то же время, и что бы создать пустой файл.
$file_handle = fopen("registeredMembers", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle);
$line++;
$fp = fopen('registeredMembers', 'w');
fwrite($fp, $line);
fclose($fp);
}
Это происходит потому, что есть два запрос происходит одновременно, и до того, как программа записывает измененную версию переменного, другой запрос прочитал пустой файл перед записью. Есть ли лучший способ, которым я мог бы это сделать? Любая помощь будет принята с благодарностью!
Приветствуем вас на сайте! Отличная работа в выражении вашего первого вопроса. –